Soul源码分析 —— soul插件
什么是插件
相对于平台提供了软件的核心功能,插件是对已有功能的扩展。 平台需要定义接口,插件通过实现平台定义的接口来获取平台的各种资源和数据。平台通过插件接口来调用插件所实现的功能
Soul如何实现插件的调用
Soul是通过Java spi来实现的插件注册的。相对于api,spi是调用方定义接口规范,提供给外部来实现,调用方在调用时所需的外部实现。
Soul的例子
-
生成包含多个模块的starter,引用starter即引入了所包含的模块的jar包。
-
在这些模块的META-INF/spring.factories路径下,以soul-spring-boot-starter-plugin-sign为例,有以下定义
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.dromara.soul.springboot.