【发布时间】:2016-05-22 20:16:49
【问题描述】:
我正在调试我的 Java Spring 服务,我得到一个 @Autowired 变量为 null,而它不应该是。
由于我已将服务的类声明为@Service,我想再次检查我的 bean 是否已被 Spring 扫描并包含在应用程序上下文中。
因此,我希望能够在 Eclipse 中观察 Application Context 的内容。
这怎么可能?
【问题讨论】:
-
不能是
null。如果它是null,那么您是在 Spring 范围之外自己创建 bean 实例。很可能是 spring 有一个实例,但这不是一个不会自动连接的实例,因为它是由您自己创建的。 -
确实,我的构造函数被调用了。但是能够在运行时观察应用程序上下文这样我就可以调试了..
-
构造函数被调用的事实并没有说明什么。可以扫描,可以自己做。应用程序上下文中甚至存在一个实例这一事实并没有说明什么,因为一旦您开始执行
new YourClass(),该实例就会被忽略。因此,在这方面检查ApplicationContext也无济于事。
标签: java eclipse spring inversion-of-control