idea及其maven的创建流程就不做过多叙述
1:pom.xml文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>
spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签。
Maven的用户可以通过继承spring-boot-starter-parent项目来获得一些合理的默认配置。
它提供了以下几个特性:
1.默认使用Java8,可添加以下配置修改版本:
<properties>
<java.version>1.8</java.version>
</properties>
2.使用UTF-8编码,可添加以下配置修改编码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
3.一个引用管理的功能,在dependencies里的部分配置可以不用填写version信息,这些version信息会从spring-boot-dependencies里得到继承。
正常来说项目应该添加了以下带版本的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
但是使用spring-boot-starter-parent的话,可以这样,继承默认版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
4.识别过来资源过滤
例如,打包的时候把src/main/resources下所有文件都打包到包中。
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>true</filtering>
</resource>
5.识别插件的配置
比如exec plugin, surefire, Git commit ID, shade
能够识别application.properties和application.yml类型的文件,同时也能支持profile-specific类型的文件(如: application-foo.properties and application-foo.yml,这个功能可以更好的配置不同生产环境下的配置文件)。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
因为是创建web应用,所以要配置这个
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
spring boot加上这个插件,才可以使用Java -jar命令来启动jar包,并且有了这个插件,打的包里面才会有maven依赖的jar包和spring boot的启动类,所以打的jar包也就比较大。
2:sprongboot启动类(注意,我这边是将这个项目用于外部tomcat启动的,这个启动类的结构位置要与controller的包是同一层级的,否则无法调用controller的方法)
由于要用tomcat来启动,所以必须改写他的启动代码,如下:
结构目录如下
对应的controller 的demo代码如下
这样项目启动后:http://localhost:8080/项目名/home就能访问了