maven 按业务拆分模块_Springboot项目maven多模块拆分

本文介绍了Springboot项目随着发展面临代码耦合、开发者理解困难等问题,提出了通过maven按业务拆分模块来解决。详细阐述了多模块的必要性,并提供了一个典型的模块依赖结构:dao依赖model,service依赖dao、model和utils,web依赖service、model和utils。同时,讲解了如何在拆分后将springboot项目打包成可执行jar文件的步骤,包括修改pom配置、添加spring-boot-maven-plugin插件及打包命令。
摘要由CSDN通过智能技术生成

多模块拆分的必要性

使用Java技术开发的工程项目,无论是数据处理系统还是Web网站,随着项目的不断发展,需求的不断细化与添加,工程项目中的代码越来越多,包结构也越来越复杂这时候工程的进展就会遇到各种问题:

(1)不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。

(2)多方面的代码集中在一个整体结构中,新入的开发者很难对整体项目有直观的感受,增加了新手介入开发的成本,需要有一个熟悉整个项目的开发者维护整个项目的结构(通常在项目较大且开发时间较长时这是很难做到的)。

(3)开发者对自己或者他人负责的代码边界很模糊,这是复杂项目中最容易遇到的,导致的结果就是开发者很容易修改了他人负责的代码且代码负责人还不知道,责任追踪很麻烦。

将一个复杂项目拆分成多个模块是解决上述问题的一个重要方法,多模块的划分可以降低代码之间的耦合性(从类级别的耦合提升到jar包级别的耦合),每个模块都可以是自解释的(通过模块名或者模块文档),

模块还规范了代码边界的划分,开发者很容易通过模块确定自己所负责的内容。

多模块项目结构例子:

ebd04e6ceaea6d255aeb4388f79d1f50.png

依赖关系:

080deffe6d6c4086b05b3602464c9123.png

dao层依赖modelservice层依赖dao、model、utilsweb层依赖service、model、utils

打包发布jar文件

springboot项目总要是在多模块化拆分之后还能打成可执行的jar包。

1.在启动类中修改pom文件(也就是web项目的)

owen-start

org.springframework.boot

spring-boot-maven-plugin

1.3.0.RELEASE

2.在parent中的pom中添加

org.springframework.boot

spring-boot-maven-plugin

1.3.0.RELEASE

com.owen.OwenApplication

ZIP

repackage

3.执行打包命令,mvn package -Dmaven.test.skip=true 跳过测试。

535241af60b47da5b1d0fb8e24d3eb6e.png

4. 生成可执行的jar。

504faa1e4ffa2c8f8558a6867dc7358c.png

需要源码的下面留言哦! 欢迎大家指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值