发布: 更新时间:2024-10-31 09:51:46
Java SPI(Service Provider Interface)是一种动态加载扩展点的实现。它通过声明一个接口,然后通过配置获取其实现,实现动态扩展。在底层框架中大量使用,包括JDBC、Dubbo、Spring、Solon、slf4j等框架。
相比于JDK原生的SPI,Spring SPI功能更强大,可以替换的类型不仅局限于接口/抽象类,还可以是任何一个类、接口或注解。在Spring Boot中的自动装配中有体现,通过EnableAutoConfiguration注解实现。
Spring SPI的配置文件需要放在工程的META-INF下,文件名为spring.factories,文件内容本质是一个properties。例如,spring-boot-autoconfigure包下的META-INF/spring.factories文件用于自动装配。
相对于Java SPI和Spring SPI的“配置式”风格,Solon SPI采用“编码式”风格。Solon SPI,也称为Solon Plugin SPI,同样需要一个配置文件来声明Plugin的实现类。约定插件配置文件的文件名是唯一的,建议使用包名作为文件名,便于识别且可避免冲突。
插件代码示例(相当于为整个“模块”提供了一个生命周期)。因为是“编码式”的,所以也可以做更复杂的控制处理。例如,注册缓存工厂、添加事务控制支持、添加缓存控制支持、自动构建数据源等。
免费的成品短视频app推荐-成品短视频推荐大全
黄页网站推广app_黄页网站推广APP高清完整版免费入口
新仙剑奇侠传地图攻略(超级详细)(新仙剑奇侠传地图攻略完整版)
原神雷电将军去掉所有衣服图片有哪些-雷电将军胸口拔刀去掉所有服装无遮挡高清图分享
日产A一区二区来了。网友:可以和其他用户一对一互动!
网络用语想炒菜了是什么意思-暗语情侣炒菜梗的意思介绍
jmcomic.0micios网页版入口-jmcomicmicios最新网页版入口
美队ins误发照片原图在哪可以看-美队ins误发照片原图无马赛克分享
原神宵宫去衣图片有哪些-lsp宵宫去掉所有衣服无遮挡高清图分享
果冻传媒网站入口欢迎你的到来,网友们:每天都有大片可看!