gradle|springboot+gradle 多模块化应用

本贴最后更新于 1776 天前,其中的信息可能已经时异事殊

javaDEMO

Java 基础 Demo 站: https://www.javastudy.cloud
Java 中高级开发博客: https://www.lixiang.red
Java 学习公众号: java 技术大本营
java_subscribe

gradle 多模块化

现在单体应用很少了,通常会分为以下几个模块:
1.提供给后台操作的 admin 模块
2.提供给 RPC 远程调用的 service 模块
3.打包提供给别的应用的 client 模块
4.对数据库操作及实现接口的 business-impl 模块
5.供服务内部调用的 manager 模块
6.通用的工具类 common 模块
这里选取 Admin 和 business-impl 的代码进行展示:
admin->build.gradle:

plugins {
	id 'org.springframework.boot' version '2.1.6.RELEASE'
	id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'cloud.javastudy.demo'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

dependencies {
	
	compile project(":demo-business-impl")
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.0'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

business-impl 模块的 build.gradle

plugins {
	id 'java'
}


version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

dependencies {

	compile project(":demo-business")

}

总体的拆分模块及包如下图所示:
image.png
image.png

DEMO 总评

多模块化的拆分一般与公司的业务为主,总体来说差别不大,拆分的难点在于 gradle 的组织方式,这点一般公司也都有模板工程,本 DEMO 适用于小白学习,真正入职之后,还是要以公司已有的拆分为主. 与 Maven 的拆分相似,gradle 也可以做版本统一管理,不过这个 DEMO 中没有写出,会在后续的 DEMO 中给出,加油吧,少年!

DEMO 下载

demospringbootmuti.zip

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • Gradle
    41 引用 • 20 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...