模块化开发

模块化开发

简而言之就是将一个单体应用拆分为多个模块,形成父-子项目,方便协同开发,此方法于微服务架构略有不同,微服务中也是父-子项目,但它的每个子项目都是一个独立可运行的项目。而此处每个子项目均无法独立运行。

创建

创建一个父项目,然后在父项目下创建模块即子项目,根据不同职责来进行划分:
在这里插入图片描述

父、子项目均有自己的pom,子pom将继承父pom。

由于子项目直接独立,但又不得不存在依赖关系,比如web(controller层)需要调用service模块、service模块依赖service-impl模块…

模块也是独立子项目,我们可以通过maven来构建模块的坐标,再通过maven配置来引入坐标。

依赖处理

1.构建模块maven坐标:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <!--继承的父项目信息-->
   <parent>
       <artifactId>sp</artifactId>
       <groupId>org.example</groupId>
       <version>1.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>

   <!--本项目的坐标信息-->
   <artifactId>beans</artifactId>
   <groupId>org.example</groupId>
   <version>1.0</version>

</project>

此时通过install就可以将此模块打包为一个坐标到本地仓库了,其他模块可以根据坐标信息来进行引入。

2.引入模块坐标:

<dependencies>
	<dependency>
		<!--<groupId>org.example</groupId>--> <!--由于父项目已经配置此项,因此子模块无需配置-->
		<artifactId>beans</artifactId>
		<version>1.0</version>
	</dependency>
</dependencies>

引入坐标之后就能直接调用坐标的内容了。


配置管理

项目拆分为多个模块后,application.properties也将被分成多,至于配置的管理可以参考我的另一篇博客:https://blog.csdn.net/qq_52681418/article/details/114300530 ,里面的maven管理springboot配置章节将介绍如何管理配置文件。


项目打包

第一次时直接将父项目install一下,之后每次修改模块对模块单独install即可。
在这里插入图片描述

多环境时切换环境需要重新install父项目,建议在打包时clean一下之前的打包数据,否则有可能还存在旧的打包文件导致项目无法启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值