SpringBoot 2.7.2 学习系列,本节内容快速体验Spring Boot,带大家了解它的基本使用、运行和打包。
Spring Boot 基于 Spring 框架,底层离不开 IoC、AoP 等核心思想。Spring 4.0 提供了基于 Java Config 的开发方式,Spring Boot 应运而生,可以简化 Spring 应用开发过程,同时也可以快速方便的集成第三方框架,如 MyBatis、Redis 等。
0 版本说明
- 开发工具 IDEA 版本:2021.2
- Maven 版本: 3.6.3
- Spring Boot 版本:2.7.2
- JDK 版本:JDK 8
- MySQL 版本:MySQL 8
说明,当前 Spring Boot 2.x 最新稳定版为
2.7.2
,JDK 8 需要以上版本、Maven 需要 3.5 以上版本。(本想基于 Spring Boot 3.x,但 3.x 需要 Java 17,优雅哥电脑还只是 JDK 8)
1 创建 Spring Boot 应用
1.1 创建工程
1)打开 idea,新建一个 Maven 项目,点击“Next”
2)输入 Name、GroupId、ArtifactId,点击“Finish”
1.2 设置 IDEA
在 IDEA 的 Preferences 中设置 JDK、Maven
1)设置 Maven
2)设置 JDK
在 Module Settings 中设置 JDK
首先设置 SDKs:
接着在 “Project” 中选择设置的 SDK
最后在 “Modules” 中选择 Language Level:
2 添加 Spring Boot 支持
2.1 添加依赖
1)在 pom.xml
中添加 Spring Boot 依赖。
在烂大街的文章博客中,都是通过 parent
的方式继承 spring-boot-starter-parent
,如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.2</version>
</parent>
这种方式几乎都用于在 demo 编写中,在大型项目或中大型企业中很少见到这么使用的。因为每个 module 只能有一个 parent ,而在企业开发中,微服务有多个服务,多个服务一般会继承自一个统一的 module,便于版本控制、通用功能等。如果在每个服务中都让spring-boot-starter-parent 占据了 parent 节点,那如何继承统一的 parent module 呢?
或许有人会说,在 parent module 中继承 spring-boot-starter-parent。没错,确实可以这样。但除了服务,还会有一些公共模块(如对参数校验、通用响应、分布式 Redis 锁、Spring Doc等通用模块)也继承自这个parent module,这样一来,这些公共module也被迫添加了压根没有使用 spring boot starter 依赖。
我的做法是通过