1、首先通过Idea创建一个Maven项目,参考IDEA Maven父子项目操作(不是微服务架构,所以参考子项目的创建即可).
2、修改pom.xml 导入spring boot2相关的依赖
(1)、引入spring boot2框架
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.pom
(2)、引入web开发场景启动器 spring-boot-starter-web
注:spring boot提供了若干场景启动器,命名规则spring-boot-starter-*,类似abp的组合模块,方便快速开发
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
这里通过idea点击进入该场景启动器,可以看到如下依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-json</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.9.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.9.RELEASE</version> <scope>compile</scope> </dependency> </dependencies>
引入了web开发相关的依赖如tomcat等
https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.dependencies
3、依赖管理
根据2中通过xml引入的spring-boot父项目,如下xml
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
通过idea点击父项目信息
可以看到父项目依然有父项目,继续点击查看.
可以看到properties节点下面定义了很多Maven自定义属性,这个属性就是控制spring-boot引入的工具包的版本,如下:
这其实就是maven父子项目依赖管理的方式,参考Maven 父子项目
4、子项目修改Spring boot项目引用的默认组件依赖版本.
因为通过pom引入spring boot2,spring boot2会引入框架默认依赖的所有组件,方便开发,也是约定大于配置的一种体现,但是有些特殊业务需求,某个模块需要升级某一个组件的版本,这里拿junit组件举例,spring boot2默认引用
如果项目中需要junit,其pom.xml如下:
那么项目默认会使用spring boot2中的junit版本
参考父子项目,如果此时需要在项目中使用自定义的junit版本不使用spring boot2给定的版本,可以使用如下两种方式:
(1)、修改pom.xml如下:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
(2)、改写pom.xml的自定义属性
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.11</junit.version> </properties>
5、编写Application启动类,类似abp的启动类
package com.company.springboo2learn; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
@SpringBootApplication 注解代表这是一个Spring boot应用
6、编写Restful 控制器和netcore mvc类似
@RestController public class HelloController { @RequestMapping("/hello") public String home() { return "hello spring boot2!"; } }
7、启动应用
找到3中的启动类
运行即可.
运行访问均成功.
8、创建可执行的jar包并部署 类似netcore的单文件部署
Spring boot提供了fat jar的概念,打包了tomcat和相关运行时方便快速发布,修改pom.xml新增如下节点
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.executable-jar
操作idea或者命令行执行mvn clean packeage执行打包操作
打包成功会在target目录(类似netcore项目的bin)生成一个jar包,cmd定位到包目录,执行如下代码:
部署访问成功.
标签:项目,spring,boot,springframework,boot2,Spring,org,starter From: https://www.cnblogs.com/GreenLeaves/p/17457960.html