项目架构图
如上Springcloud 架构胡已有很多个独立的小项目,每个项目的pom.xml文件重复的依赖都很多所以只需继承最外层的父pom.xml即可。
父pom.xml配置如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.test</groupId>
<artifactId>test_interface</artifactId>
<version>1.0</version>
<name>test_interface</name>
<packaging>pom</packaging>
<description>二期接口服务</description>
子项目interface_survey 种的pom.xml中只需要把<parent> 改成 父pom.xml的 <groupId>com.test</groupId>
<artifactId>test_interface</artifactId>
<version>1.0</version>既可
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.test</groupId>
<artifactId>test_interface</artifactId>
<version>1.0</version>
</parent>
<artifactId>interface_survey</artifactId>
<version>1.0</version>
<name>interface_survey</name>
<description>Survey Servcie Interface</description>
<properties>
<java.version>1.8</java.version>
</properties>
二、新建一个 interface_common 当作工具类存放整个工程的所有工具类,其它服务需要调用的话需要在 父pom.xml文件中 引入
<dependency>
<groupId>com.wondersgroup.yilian</groupId>
<artifactId>interface_common</artifactId>
<version>1.0</version>
</dependency>
因为上面一步,所有服务都继承了父pom.xml,所以整个项目都能访问到这个工具类服务了 。
如下图(演示):
需要用到interfaceUtil里的jsonNotEmpty()方法
import com.test.interface_common.util.InterfaceUtil;
public String test(JSONObject requestJson) {
InterfaceUtil.jsonNotEmpty(requestJson);
return null;
}
如果上面几步做完,还引用不到的话,记得把公用类服务打成jar包才可以噢。
emmmm 还有一点就是如果公共类里有需要跟着项目一起启动的注解的话@SpringBootApplication需加scanBasePackages 路劲可以写很多指定到具体服务位置,本人比较懒就值指定了大路径
@SpringBootApplication(scanBasePackages = "com.wondersgroup.yilian")
public class DyrzIntelnetApplication {
public static void main(String[] args) {
SpringApplication.run(DyrzIntelnetApplication.class, args);
}
}