首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出春秋究竟是什么?

如何找出春秋究竟是什么?
EN

Stack Overflow用户
提问于 2011-09-21 07:44:01
回答 2查看 8.5K关注 0票数 7

我有一个基于Spring2.x的大型应用程序,它有几百个applicationContext.xml文件和几千个bean/bean工厂。

大多数这些XML配置都像default-autowire="byName"一样,有效地打开了自动装配,但实际上只有一小部分bean是自动装配的。大多数bean属性都是显式设置的。

(这是出于历史原因,我想,当你过去不够聪明的时候,你就是这么说的。)

现在我们要彻底去除自动毛。我们相信,实际上只有一小部分豆子是自生的--但我们不知道到底是什么,到底是什么。我的问题是:

,我们怎么才能知道春天到底是什么?

理想情况下,我们需要获得一个bean/属性列表,以便在out配置中显式地注入这些bean/属性。但是在使用调试器进入Spring内部之前,我决定询问SF上的人是否已经解决了类似的任务。

ps。我不想讨论自动装配是好是坏。我们有许多内部技术原因来去除自动装配,仅此而已。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-21 07:54:50

您可以尝试在Spring中启用调试日志记录。它在初始化阶段打印了大量信息。我敢打赌自动接线信息也会被打印出来。您只需要找到该消息,然后在应用程序完全初始化之后解析日志文件。

UPDATE:我认为AbstractAutowireCapableBeanFactory负责自动布线逻辑.您可以检查autowireByName方法。它生成以下日志消息,可以在日志文件中搜索:

代码语言:javascript
复制
logger.debug("Added autowiring by name from bean name '" + beanName +
    "' via property '" + propertyName + "' to bean named '" + propertyName + "'"); 
票数 9
EN

Stack Overflow用户

发布于 2011-09-21 07:52:55

我的猜测是在一个特定的文件中为那个包启用一个记录器(log4j)。

输出所有bean的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7496268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档