一 概述
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 案例1
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:
四 springboot3.x 案例2
4.1 sdk的配置
4.2 调用端
4.3验证
1.请求验证
2.console控制台