当前位置: 首页 > 知识库问答 >
问题:

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

单于经纬
2023-03-14

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

例如,目前,我需要检索特定类的所有bean的列表。使用特定于Spring的方法,我可以使用ApplicationContext来。getBeansOfType(Clazz),但我试图在不使用Spring应用程序上下文的情况下实现这一点。

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

Ex(快速psuedo代码):

@Autowired private ApplicationContext ctx;

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

如果不使用Spring,我怎么做呢?

共有2个答案

司徒杜吟
2023-03-14

你不会找到一种框架不可知的方法来做这件事。对于CDI,你会使用

@Inject实例

桑鸿志
2023-03-14

我想不是。

对于Spring,您可以使用:

 @Inject
 private Map<String, Foo> fooBeans;

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

 类似资料:
  • 问题内容: 如果我错了,请纠正我,ReactIntl​​中的FormattedMessage返回一个由span标记包装的字符串。在ReactIntl​​ 1.2中,我们可以选择仅获取字符串部分。 这是我的问题:ReactIntl​​ 2.0中是否有与之等效的东西?我知道可以通过使用FormattedMessage中的Function-As- Child模式获取字符串 但是,它把我的组件中的“ re

  • 我正在编写一个从站点中抓取信息的python代码,但我必须首先去掉一些cookies弹出窗口。要单击右侧按钮,我需要它们的XPath(据我所知)。问题是XPath的一部分每次都发生变化,我不知道如何找到它们,因为它们实际上没有任何属性,比如ID之类的。 这是按钮的HTML: 这是我现在使用的命令: 这是XPath: 变量每次都变,所以我改变了14。

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 我的老师想让我通过迭代找到用户10个输入的中位数。 这就是我使用迭代来查找总和,奇数数,最大值和质数数的方式。但我一直坚持要找到中位数。

  • 问题内容: 当前,当我发出此SQL时,它将获得不同的用户名。 我有一些不同的用户名,它们代表组,例如。 我想将所有其他用户名(恰好是数字)分组为一个组,例如 我可以实现以下目标吗? 编辑:从答案修改的查询 问题答案: @bfavaretto很好(对他+1),但是如果您不了解前缀或前缀不同,则可以使用类似以下内容的方法:

  • 我试图找到类似的问题,但找不到解决我问题的最佳方案。我在应用程序中使用SpringBoot,在代码中使用集成的solace队列。我可以使用以下代码读取solace队列中的消息: 在SpringBoot的帮助下,所有属性(如VPN)都从属性文件中提取,并创建ConnectionFactory。下面是读取消息的代码: 根据消息的类型,定位服务执行器并处理消息。它对我们完全有效。 但是,在某些情况下,我