【问题标题】:Can I programmatically determine if a spring bean is not singleton?我可以以编程方式确定弹簧豆是否不是单例的吗?
【发布时间】:2013-03-06 17:34:13
【问题描述】:

当我得到一个 spring bean(通过 getBean())时,有没有办法从 java 代码中验证 bean 是否已使用 scope=prototype 定义?

弹簧配置:

<bean class="foo.Bar" scope="prototype" />

Java:sc

MyBean bean = springApplicationContext.getBean("MyBean");

我可以将它实例化两次并比较对象,但我想避免不必要的对象创建。与此答案相反的东西可以解决问题:https://stackoverflow.com/a/9125610/156477

【问题讨论】:

  • 如果你需要知道,你的设计有问题。如果您告诉我们您真正想要做什么,我们或许可以提出更好的想法。
  • 我的应用可以从 3rd 方源加载 spring 配置。我想要对必须是 scope=prototype 的特定 bean 进行健全性检查。

标签: java spring scope


【解决方案1】:

您在ApplicationContext 中有一个API boolean isPrototype(String name) 来检查它。

【讨论】:

  • 这是否也适用于作业和步进范围的 bean?
猜你喜欢
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 2023-03-09
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多