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

回到顶部