场景
SpringCloud分布式微服务项目搭建构造父子模块依赖与实现服务提供者与消费者示例:
SpringCloud分布式微服务项目搭建构造父子模块依赖与实现服务提供者与消费者示例_霸道流氓气质的博客-CSDN博客
在上面搭建分布式微服务项目之后,会发现一个问题就是,会有多个服务中使用相同的
实体类和pom依赖
比如这里服务提供者和服务消费者都有相同的实体类enties。
又比如多个服务都会引用lombok依赖以及hutool工具依赖或者热部署devtools依赖。
如何将这些通用工具类抽离出一个公共依赖模块,避免在每个服务中重复声明和引用。
注:
博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
实现
1、在父级项目下新建module
右击父级项目-new-Module-这里命名为cloud-appi-commons
2、将通用的实体类迁移到该common模块下
在common公共模块的pom中引入通用的依赖
比如这里各个服务下都需要用到如下依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
3、对common模块依次执行clean和install操作
确保没有报错提示。
4、到需要引用公共模块的服务下
将之前引用的公共的enties可以删除掉,并且在pom文件中添加common模块的引用
<dependency>
<groupId>com.badao</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
5、然后确保各服务下引用通用依赖的地方导入是否有报错,有报错大概率是路径不对问题,如果没有报错则启动各服务查看是否正常运行。