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

3-10) maven多mudule工程实现
以下是步骤:
1、父工程只留下pom.xml文件,当然src文件夹可以留下,但是里面内容删完(注意:删除之前里面的还可用文件事先备份)。
SpringBoot单体项目拆分成多模块项目------IDEA版本_第1张图片
2、把父工程

jar  改为pom

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


com.example.house
house-parent
1.1.0-SNAPSHOT

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



    house-common
    house-biz
    house-web

3、右击父工程名,新建第一个Module,添加必要信息,如下:
SpringBoot单体项目拆分成多模块项目------IDEA版本_第2张图片
新建Module完成后目录结构如下:
SpringBoot单体项目拆分成多模块项目------IDEA版本_第3张图片
把模块house-common(这是最底层的子模块)的pom.xml 的


改成如下所示:


    com.example.house
    house-parent
    1.1.0-SNAPSHOT

原来的是:


    org.springframework.boot
    spring-boot-starter-parent
    2.2.4.RELEASE
     

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



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


即都是父工程的

 

如下:


    house-common

    house-common
    Demo project for Spring Boot

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


    com.google.guava
    guava
    23.6.1-jre



    org.springframework.boot
    spring-boot-starter-web

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


里添加



    com.example.house
    house-common
    1.1.0-SNAPSHOT

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


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


里添加



    com.example.house
    house-biz
    1.1.0-SNAPSHOT

当然,house-common模块的依赖就不要添加了,因为子模块house-web依赖子模块house-biz,就间接也依赖house-common模块。
相关截图:
SpringBoot单体项目拆分成多模块项目------IDEA版本_第4张图片
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

你可能感兴趣的:(idea技术,springboot多项目,编程)