一、Spring Boot简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring boot优点
快速构建项目
减少xml的配置
依赖配置简单化
部署便捷 ,内置tomcat,Jetty
监控更简单, 提供了产品环境下的监控,比如度量指标、健康检查及扩展配置等
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
注:Gradle 版本一定要为4.10。
下载地址:https://downloads.gradle-dn.com/distributions/gradle-4.10-bin.zip
二、创建SpringBoot项目
-
创建SpringBoot项目
-
选择Gradle
-
项目运行
三、Gradle构建多模块SpringBoot项目
-
使用IDEA构建一个Gradle Java项目
使用IDEA构建一个Gradle Java项目,作为项目的最外层,只做为整个项目的容器,所以最外层项目只构建为普通的Gradle Java项目即可。
- 创建子模块
项目已经创建好了,我们开始创建各个模块,在不同项目中,模块划分的方式也会不同,具体的模块划分可以按照实际项目的需求进行划分;
全局工具模块:tools-common(项目中所有模块的全局工具类,基础模块依赖此模块)
视图模块:xtsz-views(项目中的视图模块,比如:APP所需接口、管理后台所需接口,需要进行数据展示的模块,都会被此模块依赖)
业务模块:xtsz-service(将项目中不同业务进行模块化的区分,一般在项目中,业务模块是最多的,而且在某个业务模块中需要其他业务模块作为支撑的可以进行Gradle依赖,但要避免循环依赖)
基础模块:basic-base(项目中所有业务模块的支撑,此模块中提供的基础服务是所有业务模块中都要用到的,所有业务模块都要依赖此模块,此模块依赖全局工具模块,这样,所有的模块都相当于间接依赖了全局工具模块) -
创建全局工具模块
查看父级文件:settings.gradle
rootProject.name = 'iot-manager'
include 'iot-common'
-
创建业务模块
删除不需要的文件。
父级模块:settings.gradle
rootProject.name = 'iot-manager'
include 'iot-common'
include 'iot-service'
-
打包运行
四、常见问题:
-
Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierIm Lorg/gradle/api/artifacts/ModuleIdentifier;
解决:
2018.1版本的IDEA与高版本的gradle(如5)不兼容,需要换成低版本的gradle(如gradle5.6.4)。
-
Failed to notify build listener.
2018.2 gradle版本为4.10
#Fri Nov 15 18:53:23 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip