springboot中SPI机制

不想你离开。 提交于 2020-02-26 22:15:26

https://www.jianshu.com/p/0d196ad23915

https://blog.csdn.net/qq_39662660/article/details/88781296

为什么要自定义 SPI ?

在实际应用中,无论是 Java SPI 或是 Spring SPI,都无法服务与工程已有 Spring 容器进行整合。

举个栗子:订单 OrderService 的 Implement 是通过 SPI 方式创建的,可如果 OrderService 实现类中调用了 Spring 容器管理的商品 WareService,则会出现 null 异常,因为 OrderService 实现类的生命周期并没有交给 Spring 容器管理。

基于此,我们可以自己实现一套逻辑,主要包括两点:

1、加载 META-INF 目录下的 spi 接口文件

2、将实例化的 Bean 注册到 Spring 的容器中
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!