SpringBoot单体项目拆分成多模块项目------IDEA版本

3-10) maven多mudule工程实现
以下是步骤:
1、父工程只留下pom.xml文件,当然src文件夹可以留下,但是里面内容删完(注意:删除之前里面的还可用文件事先备份)。
在这里插入图片描述
2、把父工程

<packaging>jar</packaging>  改为<packaging>pom</packaging>,

然后添加父工程项目说明,最好版本号改一下,如下:

<!-- 项目说明:这里作为聚合工程的父工程 -->
<groupId>com.example.house</groupId>
<artifactId>house-parent</artifactId>
<version>1.1.0-SNAPSHOT</version>

之后再添加模块说明,这是之后要新建的子模块:

<!-- 模块说明:这里声明多个子模块 -->
<modules>
    <module>house-common</module>
    <module>house-biz</module>
    <module>house-web</module>
</modules>

3、右击父工程名,新建第一个Module,添加必要信息,如下:
在这里插入图片描述
新建Module完成后目录结构如下:
在这里插入图片描述
把模块house-common(这是最底层的子模块)的pom.xml 的

<parent>

改成如下所示:

<parent>
    <groupId>com.example.house</groupId>
    <artifactId>house-parent</artifactId>
    <version>1.1.0-SNAPSHOT</version>
</parent>

原来的是:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

这样模块house-common就依赖于父工程了,然后把模块house-common的

<groupId>

<version>

删除,这样以后依赖于house-common模块的其余模块都会统一

<groupId>和<version>

即都是父工程的

 <groupId>和<version>

如下:

<!--    <groupId>com.example.house</groupId>-->
    <artifactId>house-common</artifactId>
<!--    <version>0.0.1-SNAPSHOT</version>-->
    <name>house-common</name>
    <description>Demo project for Spring Boot</description>

之后添加必要的依赖,如:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>23.6.1-jre</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

这是最底层的子模块,注意还有其他子模块,设置有些不同。
4、新建house-biz子模块,修改过程与模块house-common大致相同,下面是不同处。
在按照模块house-common修改之后,继续在

<dependencies>

里添加

<!-- 把common模块作为依赖添加进来 -->
<dependency>
    <groupId>com.example.house</groupId>
    <artifactId>house-common</artifactId>
    <version>1.1.0-SNAPSHOT</version>
</dependency>

这样就可以 把house-common模块作为依赖添加进来 ,

且<groupId>和<version>

与父工程一样。可以在里面添加必要的依赖,之后新建子模块house-web,步骤与子模块house-biz相同只是要在

<dependencies>

里添加

<!-- 把biz模块作为依赖添加进来 -->
<dependency>
    <groupId>com.example.house</groupId>
    <artifactId>house-biz</artifactId>
    <version>1.1.0-SNAPSHOT</version>
</dependency>

当然,house-common模块的依赖就不要添加了,因为子模块house-web依赖子模块house-biz,就间接也依赖house-common模块。
相关截图:
在这里插入图片描述
5、把父工程的启动类复制到顶级子模块,这里就是house-web,application.properties和
模板引擎(页面)还有静态资源都复制到house-web下,即可启动,house-web的启动类应该也能启动,没试过就删了,以后有机会试试。我的项目里用了mybatis,我的mybatis配置文件和mapper映射文件都放在子模块house-biz下的resource了。
6、启动类,接口,过滤器都放在house-web模块下了,model类、通用工具类放在house-common模块下,配置类、Mapper类、service类mapper映射文件、mybatis配置文件、application.properties都放在house-biz模块下。

相关博客:
https://www.jianshu.com/p/8518a7cffd24
https://blog.csdn.net/zcf980/article/details/83040029

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值