java - 如何在不专门使用 Spring ApplicationContext 的情况下检索 beansOfType(Class) 列表?

标签 java spring dependency-injection cdi jsr

我越来越多地尝试设计和构建我的应用程序,以便它们与框架无关。这意味着使用 JSR 注释而不是 Spring 注释、JPA2 接口(interface)等,但我发现自己有时遇到很多困难。

例如,目前我需要检索特定类的所有 bean 的列表。使用 Spring 特定的方法,我可以使用 ApplicationContext 来 .getBeansOfType(Clazz),但我尝试在不使用 Spring ApplicationContext 的情况下执行此操作。

是否有与 Spring 的应用程序上下文等效的 JSR?

Ex(快速伪代码):

@Autowired private ApplicationContext ctx;

protected Map<String, Clazz> getBeans(){
   return ctx.getBeansOfType( Clazz );
}

如何在不使用 Spring 的情况下做到这一点?

最佳答案

我认为不是。

对于 Spring,您可以使用:

 @Inject
 private Map<String, Foo> fooBeans;

避免显式引用 ApplicationContex,但据我所知,这不适用于其他 DI 容器。

关于java - 如何在不专门使用 Spring ApplicationContext 的情况下检索 beansOfType(Class) 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409235/

相关文章:

Java循环问题

java - 为什么要使用条件,“阻塞”和“等待”之间有什么区别

java - 无法在具有接口(interface)插件类支持(Jar 内的 Jar)的 Java 应用程序中公开自定义类

spring - Spring 3.1 MVC 应用程序上的 HTTP 状态 404

c# - 理解 MVVM 中的分离

c# - .NET 核心 - 依赖注入(inject)、工厂和 IDisposable

java - 如何使用 Selenium 和 Java 处理浏览器登录弹出窗口

java - 如何将鱼尾纹添加到 UMLet?

java - 如何从 Hibernate session 中删除不需要的实体?

javascript - Angular 5 : Can't Resolve All Parameters for e: (? )