一 概述
1.1 说明
本博客记录的案例,逻辑是:
项目A读取配置文件,并在service类的方法进行打印输出。项目A作为sdk被项目B进行依赖,
在项目B启动后,进行调用,并且在B进行参数的配置,能够覆盖掉项目A默认的配置。
使用springboot2.x版本和springboot 3.x 两个版本进行演示,其中springboot3.x 对web-inf下的spring.factories文件的无法识别,后面会介绍解决办法。
二 springboot2.x
2.1 sdk端
2.1.1 搭建工程
1.pom底座
2.读取自动扫描配置
2.1.2 install 安装打包编译
mvn clean install
2.2 调用端
3.2.1 搭建工程
1.引入依赖
2.启动类
3.调用类
2.2.2 测试效果
1.测试
2.效果
三 springboot3.x
3.1 sdk端
3.1.1 搭建工程
1.pom文件
<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><!-- 引入springboot --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.7</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>org.jurf.ms.starter</groupId><artifactId>my-define-starter</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>my-define-starter</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency></dependencies>
</project>
2.配置类
3.业务类
4.WEB-INF下配置文件
3.1.2 install安装打包编译
mvn clean install
3.2 调用端
3.2.1 搭建工程
1.启动类
2.配置文件
3.pom文件
<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><!-- 引入springboot --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.7</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.jurf.test</groupId><artifactId>my-define-engine</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>my-define-engine</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.jurf.ms.starter</groupId><artifactId>my-define-starter</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
</project>
4.业务端
3.2.2 测试效果
1.请求访问:http://localhost:8080/test
后端log: