Springboot+Maven做启动类与业务模块分离的架构模式

本文分享了一种将Springboot启动类与业务模块分离的架构模式,通过Maven管理,使得各子模块(如Controller、Service、Mapper)独立,启动类单独打包。这种架构便于版本管理和模块组合,提高了代码的整洁度和灵活性。在配置中需注意启动类扫描路径和模块依赖。最后强调了执行maven clean + install的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前的项目一直是启动类与Controller,Service,Mapper等包同级。Maven仅仅是引入其他模块或者第三方Jar包工具。
但是最新接手一套项目的架构非常有趣,也是记录一下分享一下,直接上示意图:

在这里插入图片描述

如果按照传统的模式,ABC每个子模块都会有各自的启动类。但是当前模式下:

上图一共五个Maven项目,父模块包含着四个子模块,子模块中有一个就是负责启动ABC那个子模块的启动类,ABC三套子模块中,又有各自的controller,service,mapper的包,然而仅需要ABC三个子模块的controller的包名路径一样(⚠️最好要保持一致,不然该案例的配置会扫描不到controller!!假设为com.jojo.zoo),那么启动类指定扫描路径就写成:

@SpringBootApplication(scanBasePackages = {
   "com.jojo.zoo"})

然后还要在启动类模块的pom文件中,把ABC模块都引入进来即可

如果不想启动类模块直接引入ABC,那就在父模块中的引入ABC:

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>com.jojo.zoo</groupId>
			<artifactId>jojo-A<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值