这篇文章介绍下搭建SpringBoot多模块项目脚手架,他最大的优点就是配套了开发微服务业务所有的附属产品,可以直接开发业务节省了搭建环境时间。
因为脚手架内容很多,因此将它设计为一个系列介绍,共分为三篇文章。
第一篇文章
搭建SpringBoot多模块微服务框架
第二篇文章
封装《MybatisPlus》
封装《Swagger》
封装《自动生成代码工具》
第三篇文章
封装《接口统一返回信息模板》
封装《接口统一请求信息模板》
封装《统一异常信息模板》
封装《统一日志模板》
这个脚手架不只是创建一个springboot项目,这样是不是直接开发业务的,还需要集成插件像swagger、MybatisPlus,封装底层框架像接口请求、接口响应、日志、异常等模块。
脚手架的目标就是准备好一个可以直接写业务代码的环境,下载下来就可以开发业务不再为开发环境耗费时间。
组件名称 | 版本号 | 描述 |
---|---|---|
SpringBoot | 2.6.1 | springboot服务 |
MybatisPlus | 3.0.5 | ORM映射框架 |
velocity | 2.0 | mybatisplus自动生成代码 |
gson | 2.8.2 | 操作json工具类 |
1.File—>New—>project
2.创建一个spring工程:
Spring Initializr
表示创建一个spring工程Project SDK
选择我们安装的JAVA版本Choose Initializr Service URL
选择默认 Default1.填写spring项目信息
1.选择springBoot版本和组件
1.确认项目名称和路径
project name: 项目名称,默认即可
project location: 项目创建位置,默认即可
mac系统: 点击 IntelliJ IDEA
下拉框点击 Preferences
windows系统: 点击 File
下拉框点击Setting
点击maven,选择本地电脑配置的maven版本
点击maven
下拉框点击 Importing
勾选 Import Maven projects automatically
, 以后添加依赖包就会自动导入,不需要手动导入。
点击File
下拉框点击 Project Structure
选择java开发语言版本
1.删除项目中不需要的内容包括
.mvn
HELP.md
mvnw
mvnw.cmd
2.删除src文件夹
在项目中点击pom.xml
配置文件修改如下内容。
1.修改spring boot版本,改为我们使用的2.6.1
版本
2.设置父模块为pom类型
3.父模块作为包管理器,它不使用依赖,因此在dependencies
外面添加包管理标签 dependencyManagement
4.父模块用来管理子模块,它不会写代码因此需要将spring-boot-starter-web
和 spring-boot-starter-test
依赖删除
修改完成后的pom.xml
文件内容
4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.1 com.bruce parent_spring 0.0.1-SNAPSHOT parent_spring Demo project for Spring Boot pom 1.8 org.springframework.boot spring-boot-maven-plugin
下面是配置完成的父模块工程结构
创建子模块用来开发业务服务,我们是微服务因此每个子模块就是一个单独的服务。为了避免每个模块都重复引用相同的依赖,增加重复工作量,我们做了一个分层设计,设计理念如下。
微服务管理层:创建一个service
模块用来管理所有的实现业务逻辑的微服务,在该模块中管理所有微服务需要的依赖包。
微服务实现层:在service
模块下面创建多个子模块,每个模块都实现一个独立的业务逻辑功能,对外提供接口服务。
1.在父模块 parent_spring
右键点击 New
点击 Module
新建模块
2.选择创建Maven
类型模块
1.输入模块信息
1.service
作为微服务管理层,它不需要写代码,因此删除src
文件夹
2.修改pom.xml
文件内容
service
模块为pom类型,因为它不写代码只管理依赖包。dependencies
依赖标签,并添加springbootweb
依赖build
设置打包规则修改pom.xml
文件完成后的内容
parent_spring com.bruce 0.0.1-SNAPSHOT 4.0.0 service pom org.springframework.boot spring-boot-starter-web src/main/java **/*.xml false
1.在 service
模块右键点击 New
点击 Module
新建模块
2.选择创建Maven
类型模块
3.输入模块信息
service
模块。1.在service_user
模块中点击 src -> main -> resources 文件夹,在该文件夹下新建配置文件application.properties
2.创建好配置文件后,如果图标不是一个小叶子,那么它没有被spring当做资源文件。
点击 File
-> Project Structure
, 点击Modules
选择 service_user
模块,选择该模中resources
文件夹,点击Resources后就被spring识别为资源文件。
3.保存设置后,查看配置文件变为小叶子图标
到这里多模块的spring项目工程结构就搭建完成了,下面看下这个工程的完整结构。
当我们创建了子模块后,maven
会自动在父模块的pom.xml
文件中modules
标签中添加子模块名称,用来建立父子模块管理关系。
1.parent_spring
模块 pom.xml
文件
4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.1 com.bruce parent_spring 0.0.1-SNAPSHOT parent_spring Demo project for Spring Boot pom service 1.8 org.springframework.boot spring-boot-maven-plugin
2.service
模块 pom.xml
文件
parent_spring com.bruce 0.0.1-SNAPSHOT 4.0.0 service pom service_user org.springframework.boot spring-boot-starter-web src/main/java **/*.xml false
3.service_user
模块 pom.xml
文件
service com.bruce 0.0.1-SNAPSHOT 4.0.0 service_user