Spring boot2 项目相关
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定位到包目录,执行如下代码:
部署访问成功.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2018-06-06 C# 自定义类型通过实现IFormattable接口,来输出指定的格式和语言文化的字符串(例:DateTime)