构建多模块的弹簧启动项目步骤全纪录

  

  

众所周知,在多个项目中可能会相同的模块,如果每个项目都去创建一遍的话,这样开发效率会很低,比如在开发一个程序应用的时候,有供程序使用的接口项目,后台管理系统,两个项目共用一套数据库,分开的话需要配置多次mybatis,如果有些表需要改动的话,则都需要改动,所以使用多模块管理这些模块的话,会非常的方便。

  

通过阅读本文你将了解到:如何将已有SpringBoot项目改成多模块,如何新构建多模块SpringBoot项目以下示例基于我正在使用的顺序(订单服务)进行演示,无论你用的是什么项目,原理都是一样的,这里不要纠结使用的是什么服务。

  

  

最外层pom文件是用来管理其他子模块的父级pom,重点将& lt; packaging>节点修改为pom,修改前& lt; packaging>可能是jar或war

  

这里修改成pom是因为打包时,父pom是依赖于子pom进行打包的,父pom会通过& lt; modules>节点将所有的子pom模块引入并且进行管理

  

构建多模块的弹簧启动项目步骤全纪录

        & lt; packaging> pom      

  

假设你已经设计好子模块的拆分原则,这里开始基于你自己的设计进行子模块的创建

  

例如:我将订单项目拆分成三个不通的子模块,即常见的,客户端,服务器,每个模块负责的事情是不同的

  

第一步:右键项目名称,选择新→模块

  

构建多模块的弹簧启动项目步骤全纪录

  

第二步:在弹出的新模块窗口选择Maven

  

构建多模块的弹簧启动项目步骤全纪录

  

第三步:点击下,并输入子模块的ArtifactId,如:常见的,客户端,服务器等,然后点击下

  

构建多模块的弹簧启动项目步骤全纪录

  

第四步:检查并确认子模块名称及路径是否正确,如果正确则点击完成

  

构建多模块的弹簧启动项目步骤全纪录

  

至此,普通模块就创建成功了,你会发现阶根目录下多了一个共同的子模块

  

构建多模块的弹簧启动项目步骤全纪录

  

  

创建了常见模块后,如果有需要移动至常见的子模块下的代码,则根据原来的代码目录结构,在common-src-main-java下创建相同的目录结构即可

  

例如:我项将ProductInfoOutput移动到常见的子模块下,原来ProductInfoOutput的保路经为com.imooc.order.common,那么我需要在common-src-main-java下创建com.imooc.order.common包,并将ProductInfoOutput拽进去

  

构建多模块的弹簧启动项目步骤全纪录

  

补充说明:我在创建com.imooc.order.common包时遇到了一个问题,就是右键java文件夹然后选新→包并创建com.imooc.order.common时,创建出来的包路径时没有层次结构的,也就是说想法单纯的为我创建了一个名为com.imooc.order.common的文件夹

  

经研究发现,是视图的问题,将左上角的项目改成项目文件,然后按照上面的方式创建即可

  

构建多模块的弹簧启动项目步骤全纪录

  

在转移测试目录下的代码时,同样需要注意测试目录下的包结构要与转移前的结构一致,这里以服务器模块为例,因为常见的下的测试目录没有代码

  

构建多模块的弹簧启动项目步骤全纪录

  

当我们创建好多有的子模块后,观察最外层的父级pom文件内容,发现父级pom已经将我们创建的子模块作为模块引入进来了

  

构建多模块的弹簧启动项目步骤全纪录

  

4,修改子模块pom文件

  

当我们创建好多个子模块后,子模块间可能会存在依赖关系,例如我的服务器模块会依赖常见模块下的ProductInfoOutput类

  

构建多模块的弹簧启动项目步骤全纪录