在gitee上查找资料的时候,发现有不少Springboot项目里边都是嵌套了多个Springboot项目的。这个玩意好,在协作开发的时候,将项目分成多个模块,有多个团队协作开发,模块间定义标准化通信接口进行数据交互即可。
这个好这个。我之前创建的博客项目是单模块的SpringBoot项目,那我创建一个多模块的SpringBoot项目来将我的博客改成多模块项目。正好后边可以用这个尝试下微服务。
下边记录一下SpringBoot多模块项目的创建流程
一:创建父工程
首先我们先在IDEA中创建一个父项目,使用Maven托管。如下图所示:
点击下一步,不需要添加任何依赖,点击创建完成即可。
项目创建成功如下图所示:
删除图上红框标注的所有文件,只保留pom.xml
二:创建Utils子模块
这个跟创建父工程的流程是一样的,唯一不同的就是第一步,如下图所示:
建议创建子模块的包名是一致的,我这里使用的包名是:com.modules
子模块创建成功之后,我们配置一下子模块的pom.xml使其成为父工程的子工程。
在子工程pom.xml中添加
<!-- 配置父工程 -->
<parent>
<groupId>com.modules</groupId>
<artifactId>NacosProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
如下图所示:
接着在父工程的pom.xml中配置:
<!--将子模块放在一堆 start -->
<modules>
<module>NacosUtils</module>
</modules>
<!--将子模块放在一堆 end -->
因为我这里创建的utils子模块只存储以后项目中需要的公共的utils公共文件,因此不需要启动类,也就不需要配置resources下方的application.properties文件。如下图所示:
删除成功之后,我们在com.modules.nacosutils目录下创建Utiils.java文件:
package com.modules.nacosutils;
public class Utils
{
public static void utils()
{
System.out.println("我是NacosUtils项目中的Utils类的utils方法");
}
}
这个项目创建到这里即可,接下来我们继续创建其他子项目。
三:创建service子模块
创建NacosService子模块。具体参照NacosUtils创建截图,这里不再赘述。
配置方式跟NacosUtils方式一致。
在NacosService项目中的pom.xml中添加父项目信息:
<!-- 配置父工程 -->
<parent>
<groupId>com.modules</groupId>
<artifactId>NacosProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
添加对NacosUtils项目的依赖:
<dependency>
<groupId>com.modules</groupId>
<artifactId>NacosUtils</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
在父项目的pom.xml中添加子项目信息:
<!--将子模块放在一堆 start -->
<modules>
<module>NacosUtils</module>
<module>NacosService</module>
</modules>
<!--将子模块放在一堆 end -->
NacosService模块主要存放三层架构中的service逻辑层,主要用来处理逻辑,因此这里也不需要启动类以及resources下方的application.properties文件,删除。
在com.modules.nacosservice目录下创建nacosService.java文件
package com.modules.nacosservice;
import com.modules.nacosutils.Utils;
import org.springframework.stereotype.Service;
@Service
public class nacosService
{
public void nacos()
{
// 调用 NacosUtils项目下的Utils类
Utils.utils();
System.out.println("我是NacosService项目中的nacos方法");
}
}
这个模块先创建到这里
四:创建controller子模块
创建NacosController子模块。具体参照NacosUtils创建截图,这里不再赘述。
在NacosController项目中的pom.xml中添加父项目信息:
<!-- 配置父工程 -->
<parent>
<groupId>com.modules</groupId>
<artifactId>NacosProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
添加对NacosService项目的依赖:
<dependency>
<groupId>com.modules</groupId>
<artifactId>NacosService</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>