使用Gradle构建多模块SpringBoot项目
本项目使用Gradle构建SpringBoot项目,将不同的业务进行不同的模块划分(不做微服务与分布式架构);
- 编辑器:Intellij IDEA
- 构建工具:Gradle3.5
- SpringBoot版本:1.5.8
- 版本管理:GitHub
- 个人GitHub地址:https://github.com/fanlongfei0212
- 项目Clone地址:https://github.com/fanlongfei0212/demo.git
项目构建
首先创建一个项目,我们使用IDEA构建一个Gradle Java项目,作为项目的最外层,只做为整个项目的容器,所以最外层项目只构建为普通的Gradle Java项目即可;
填写GroupId与ArtifactId;
一般正式项目的GroupId为com.*开头,因为此项目为个人项目,所以使用pers.*开头,具体规则大家可以参考命名规范,ArtifactId为项目名称;
点击Next,进入Gradle配置页面;
选择Use local gradle distribution,配置自己本地的Gradle地址;
点击Next,Project name自动为ArtifactId,Project location为IDEA默认(或你上一次设置)的WorkSpace,分配WorkSpace;
点击Finish,完成Gradle Java项目的创建
项目已经创建好了,我们开始创建各个模块,在不同项目中,模块划分的方式也会不同,具体的模块划分可以按照实际项目的需求进行划分;
在此Demo中,将模块划分为:
全局工具模块:tools-common(项目中所有模块的全局工具类,基础模块依赖此模块,下面会讲到基础模块)
视图模块:views-demo(项目中的视图模块,比如:APP所需接口、管理后台所需接口,需要进行数据展示的模块,都会被此模块依赖)
业务模块:service-demo1(将项目中不同业务进行模块化的区分,一般在项目中,业务模块是最多的,而且在某个业务模块中需要其他业务模块作为支撑的可以进行Gradle依赖,但要避免循环依赖)
基础模块:basic-base(项目中所有业务模块的支撑,此模块中提供的基础服务是所有业务模块中都要用到的,所有业务模块都要依赖此模块,此模块依赖全局工具模块,这样,所有的模块都相当于间接依赖了全局工具模块)1.创建全局工具模块:
右键项目,点击 New -> Moduel,选择Spring Initializr,点击Next
2.配置模块:
设置Group,最好与项目的GroupId保持一致;
设置Artifac