springboot中SPI机制
https://blog.csdn.net/qq_39662660/article/details/88781296
- 代码: https://github.com/linkedkeeper/spi-imp
为什么要自定义 SPI ?
在实际应用中,无论是 Java SPI 或是 Spring SPI,都无法服务与工程已有 Spring 容器进行整合。
举个栗子:订单 OrderService 的 Implement 是通过 SPI 方式创建的,可如果 OrderService 实现类中调用了 Spring 容器管理的商品 WareService,则会出现 null 异常,因为 OrderService 实现类的生命周期并没有交给 Spring 容器管理。
基于此,我们可以自己实现一套逻辑,主要包括两点:
1、加载 META-INF 目录下的 spi 接口文件
2、将实例化的 Bean 注册到 Spring 的容器中
以上是 springboot中SPI机制 的全部内容, 来源链接: utcz.com/z/513208.html