Java 如何在不特别使用Spring ApplicationContext的情况下检索beansOfType(类)列表?

Java 如何在不特别使用Spring ApplicationContext的情况下检索beansOfType(类)列表?,java,spring,dependency-injection,cdi,jsr,Java,Spring,Dependency Injection,Cdi,Jsr,我正越来越多地尝试设计和构建我的应用程序,使它们与框架无关。这意味着使用JSR注释而不是Spring注释、JPA2接口等。但我发现自己有时会遇到很多困难 例如,目前,我需要检索特定类的所有bean的列表。使用特定于Spring的方法,我可以使用ApplicationContext来.getBeansOfType(Clazz),但我尝试在不使用Spring ApplicationContext的情况下执行此操作 是否有一个JSR等价于Spring的应用程序上下文 Ex(快速psuedo代码): @

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

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

是否有一个JSR等价于Spring的应用程序上下文

Ex(快速psuedo代码):

@Autowired private ApplicationContext ctx;
受保护的映射getBeans(){
返回ctx.getBeansOfType(Clazz);
}
不使用Spring我怎么能做到这一点呢?

我想不行

对于Spring,您可以使用:

 @Inject
 private Map<String, Foo> fooBeans;
@Inject
私人地图;
为了避免显式引用ApplicationContex,但恐怕这对其他DI容器不起作用。

我认为不行

对于Spring,您可以使用:

 @Inject
 private Map<String, Foo> fooBeans;
@Inject
私人地图;

为了避免显式引用ApplicationContex,但恐怕这对其他DI容器不起作用。

您找不到与框架无关的方法。对于CDI,您将使用

@Inject

例如,豆类

您找不到一种与框架无关的方法来实现这一点。对于CDI,您将使用

@Inject

例如,豆类

谢谢。这正是我现在想要做的,但我认为/希望它是独立于DI容器的(考虑到它使用的是
@Inject
符号,而不是
@Autowire
),谢谢。这正是我现在想要做的,但我认为/希望它是独立于DI容器的(考虑到它使用的是
@Inject
符号,而不是
@Autowire