【发布时间】:2014-06-27 02:15:14
【问题描述】:
请问有没有办法检测到Spring框架中所有的bean都已经实例化了?
我正在使用 Spring 库的 FileSystemXmlApplicationContext 类来加载我的 Spring 配置 XML。
我明白,在 bean 工厂实例化之后,我可以获得所有 bean。我的愚蠢解决方案是在 Spring API 中使用 getBean(String name) 方法,并在 Spring 配置 XML 中检查所有需要的 bean。如果可以找到所有需要的 bean,我可以推断所有 bean 都已实例化。
我不喜欢愚蠢的解决方案的原因是每当我更新我的配置 XML 时,我都需要更新我的源代码以再次检查。如果此解决方案存在更多漏洞,请随时指出。
感谢您的宝贵时间和建议
【问题讨论】:
-
当您在控制台中启动应用程序时,您可以看到您的 spring bean。您可以通过搜索已知 bean 来检查
-
@Fede 这是我的愚蠢解决方案吗?
-
我不明白您为什么要检查 bean 是否已实例化。你不相信春天吗?还是相信你写的xml?
-
@ohiocowboy 很好的查询,我相信 Spring 并且已经测试了我编写的 XML。工作得很好。但是我需要让我的系统在所有 bean 都成功加载并实例化之后删除那些配置 XML 文件。这是出于安全考虑。