簡(jiǎn)介
Sweet-Plugin是基于Spring Boot開發(fā)的插件管理框架假瞬,采用sidecar
邊車運(yùn)行模式景殷,與主程序一起啟動(dòng),但具有自己的生命周期
嫩码,可以動(dòng)態(tài)安裝呻拌、卸載止剖、啟動(dòng)和停止插件功能揭鳞。
特性
- 插件采用標(biāo)準(zhǔn)的SpringBoot Application開發(fā)和運(yùn)行缀磕,具有獨(dú)立缘圈、完整的生命周期管理;
-
主程序ApplicationContext
與插件ApplicationContext
完全隔離袜蚕,通過擴(kuò)展接口進(jìn)行通訊糟把; - 使用
maven
打包插件,支持對(duì)插件的自主打包編譯牲剃,支持打包成jar遣疯、zip和文件夾多種方式; - 插件具有獨(dú)立的類加載器凿傅,支持插件定義各種的依賴jar包缠犀;
- 插件可以使用
主程序
的類包; - 插件可以使用
主程序
的環(huán)境變量和yml配置參數(shù)聪舒; - 插件可以定義
@Autowired
優(yōu)先級(jí)別辨液,例如:優(yōu)先主程序后插件、優(yōu)先插件后主程序箱残、只查找插件等滔迈; - 插件可以通過
@Extension
向主程序
暴露實(shí)現(xiàn); - 插件支持自定義@Controller控制器被辑,同時(shí)監(jiān)聽插件生命周期自動(dòng)卸載和啟用燎悍;
- 插件支持AOP工廠,動(dòng)態(tài)擴(kuò)展業(yè)務(wù)功能盼理,同時(shí)監(jiān)聽插件生命周期自動(dòng)卸載和啟用间涵;
- 插件支持插件工廠,動(dòng)態(tài)擴(kuò)展一組業(yè)務(wù)功能榜揖,同時(shí)監(jiān)聽插件生命周期自動(dòng)卸載和啟用勾哩;