注入实例<Interface>:弹簧和CDI兼容性



我想知道如何在 JUnit4 中使用 Spring 中的实例

@Inject
Instance<IMyInterface> interfaces;

如果我使用

@Inject
List<IMyInterface> interfaces;

它在春季有效,但不适用于CDI。
此外,我们可以将 Provider 与 CDI 和 Spring 一起使用,但它不是可迭代的。

@Inject注解来自 JSR-330-Dependency Injection for Java。春天知道这个注解,并简单地说,春天把它当作@Autowired的替代品。就是这样。

但是,该实例是JSR 299 - 上下文和依赖注入的一部分。您可以查看 CDI 规范中的定义。

Spring DI完全不同,它不实现JSR-299(CDI(或任何其他标准。它甚至没有单独的API和实现,一切都粘在一起。因此,Spring无法注入Instace。

最新更新