从零开始新建Springboot项目之项目启动(一)

一般都是使用搭建好的框架进行业务逻辑开发,一直不清楚整个项目是如何从零到一构建出来的。所以开一个帖子,记录一下一个springboot项目是如何构建的。

使用的工具为idea

IDEA新建项目,起名字

选择maven或者spring initializr都可以。spring initializr会在pom中自动添加一些springboot用到的jar包,此处选择maven。起好名字后,一路next即可

image.png
image.png

Module构建

从实际开发角度,构建Module不是必选项。但学习嘛,还是要知道是怎么创建的

右键项目名称 -> New -> Module


image.png

依然选择maven,起名字即可。一般命名为:XXXX-Controller,XXXX-Service等等


image.png

建好后,pom中会多出以下内容

<modules>
    <module>Customer-Controller</module>
</modules>

在pom文件中引入springboot相关依赖

(放弃多模块配置)
可在此处搜索mvnrepository
首先添加parent,作为父级依赖。位置在<project></project>的下一级,与<groupId>org.example</groupId>同级,

<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.0</version>
</parent>

<parent></parent>同级新建<dependency></dependency>标签,引入web项目需要的依赖

  <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.0</version>
        </dependency>
    </dependencies>

如果是多模块的项目,需要在每一个模块的pom文件中,添加其依赖的其他模块。例如controller依赖service,则需要在controller的pom文件中添加以下依赖信息。如果不是多模块项目,可以忽略

  <dependencies>
        dependency>
            <groupId>org.example</groupId>
            <artifactId>Customer-Service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

添加启动入口

在java路径下新建顶级路径com.tardis,在此路径下新建文件CustomerApplication(名字随意)。新建controllerservicepackage。在CustomerApplication添加如下方法

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class CustomerApplication {
    public static void main(String[] args) {
        SpringApplication.run(CustomerApplication.class, args);
    }
}

文件的层级关系如图


image.png

创建配置文件

resource目录下,新建application.ymlapplication.dev.ymlapplication.prod.yml文件,作为总体,开发环境,生产环境的配置文件。配置文件格式为propertiesyml均可,此处使用yml,看起来比较简洁清晰
层级关系如图

image.png

为了更好地演示效果,可以先写一个简单的Controller进行测试,在controller文件夹中新建class,名字随意。文件层级如图。放一个最简单的接口。


image.png
package com.tardis.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping(value = "/doctor")
public class DoctorController {

    @RequestMapping(value="/meetAngle", method = { RequestMethod.GET, RequestMethod.POST })
    @ResponseBody
    public String meetAngle() {
        return "Don't Blink!";
    }
}

使用postman调用,返回结果如下


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容