优雅哥学习SpringBoot2.7实战基础-01-SpringBoot快速体验
SpringBoot基于Spring框架,底层离不开IoC、AoP等核心思想。Spring4.0提供了基于JavaConfig的开发方式,SpringBoot应运而生,可以简化Spring应用开发过程,同时也可以快速方便的集成第三方框架,如MyBatis、Redis等。
0版本说明
开发工具IDEA版本:.2
Maven版本:3.6.3
SpringBoot版本:2.7.2
JDK版本:JDK8
MySQL版本:MySQL8
说明,当前SpringBoot2.x最新稳定版为2.7.2,JDK8需要以上版本、Maven需要3.5以上版本。(本想基于SpringBoot3.x,但3.x需要Java17,优雅哥电脑还只是JDK8)
1创建SpringBoot应用
1.1创建工程
1)打开idea,新建一个Maven项目,点击“Next”
2)输入Name、GroupId、ArtifactId,点击“Finish”
1.2设置IDEA
在IDEA的Preferences中设置JDK、Maven
1)设置Maven
2)设置JDK
在ModuleSettings中设置JDK
首先设置SDKs:
接着在“Project”中选择设置的SDK
最后在“Modules”中选择LanguageLevel:
2添加SpringBoot支持
2.1添加依赖
1)在pom.xml中添加SpringBoot依赖。
在烂大街的文章博客中,都是通过parent的方式继承spring-boot-starter-parent,如下:
parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.2/version/parent
这种方式几乎都用于在demo编写中,在大型项目或中大型企业中很少见到这么使用的。因为每个module只能有一个parent,而在企业开发中,微服务有多个服务,多个服务一般会继承自一个统一的module,便于版本控制、通用功能等。如果在每个服务中都让spring-boot-starter-parent占据了parent节点,那如何继承统一的parentmodule呢?
或许有人会说,在parentmodule中继承spring-boot-starter-parent。没错,确实可以这样。但除了服务,还会有一些公共模块(如对参数校验、通用响应、分布式Redis锁、SpringDoc等通用模块)也继承自这个parentmodule,这样一来,这些公共module也被迫添加了压根没有使用springbootstarter依赖。
我的做法是通过spring-boot-dependencies来实现:
在properties中定义spring-boot-dependencies版本号
在依赖管理dependencyManagement中,通过pom的方式、scope为import添加spring-boot-dependencies
在依赖dependencies中添加需要使用到的依赖。
pom.xml文件如下:
?xmlversion="1.0"encoding="UTF-8"?projectxmlns="