- spring-boot集成spring-brick实现动态插件
- 项目结构 & 需求实现
- spring-boot集成spring-brick
- 环境说明
- 1. 主程序集成spring-brick
- 2. 准备plugin-api
- 3. 实现plugin-api
- 4. 测试验证
spring-boot集成spring-brick实现动态插件
项目结构 & 需求实现
提示:本文的集成说明,是针对完成此设计、此需求进行的
项目结构
demo
│
├─application # 主应用
│
└─plugin-api
│
├─plugin-qwer # plugin-qwer-api的实现示例1(注:也可以是单独的一个项目,继承不继承plugin-api均可)
│
├─plugin-qwer2 # plugin-qwer-api的实现示例2(注:也可以是单独的一个项目,继承不继承plugin-api均可)
│
├─plugin-qwer-api # 插件qwer-api
│
├─plugin-xyz # plugin-xyz-api的实现示例(注:也可以是单独的一个项目,继承不继承plugin-api均可)
│
└─plugin-xyz-api # 插件xyz-api
需求实现
主应用(application)、各个插件的实现(plugin-qwer、plugin-qwer2、plugin-xyz)均可单独启动
主应用(application)启动后,可动态插拔各插件(plugin-qwer、plugin-qwer2、plugin-xyz)
在plugin-api中,定义各种接口、及相关的pojo,这些接口由具体的插件实现去完成,主应用(application)面向plugin-api编程即可
spring-boot集成spring-brick
环境说明
- spring-boot:2.6.13
- spring-brick:3.1.1
1. 主程序集成spring-brick
第一步:引入相关依赖
<dependency><groupId>com.gitee.starblues</groupId><artifactId>spring-brick</artifactId><version>3.1.1</version>
</dependency>
第二步:修改程序入口方法
import com.gitee.starblues.loader.launcher.SpringBootstrap;
import com.gitee.starblues.loader.launcher.SpringMainBootstrap;
import com.ideaaedi.commonspring.annotation.EnableParameterRecorder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*** main-application start class*/
@SpringBootApplication
public class MainApplication implements SpringBootstrap {