我正在调试我的Java Spring服务,我得到一个@Autowired变量为null,当它不应该是。
由于我已将服务的类声明为@Service,因此我想仔细检查我的bean是否被Spring扫描并包含在应用程序上下文中。
因此,我希望能够在Eclipse中观察应用程序上下文的内容。
这怎么可能?
答案 0 :(得分:2)
将ApplicationContext
注入您可以调试的bean并调用#getBeanDefinitionNames
答案 1 :(得分:1)
启动服务器后,您可以使用log4j.jar输出所有警告,调试,信息。请点击以下链接http://www.tutorialspoint.com/spring/logging_with_log4j.htm。我在其他笔记本电脑上有一个工作示例,可以发布代码。如果您需要,请告诉我
答案 2 :(得分:1)
我不确定这是否是最好的方法,但是如果你只是想检查是否正确注入了依赖项,你可以先从字段中删除@Autowired注释。
现在创建一个参数化构造函数并使用@Autowired注释构造函数。 Spring将尝试通过构造函数注入所有bean。
http://www.tutorialspoint.com/spring/spring_autowired_annotation.htm
现在你可以在构造函数中放置断点来检查注入的值。
希望这有帮助。