Java AfterPropertieSet是否保证内部属性也被初始化?
我有以下课程:Java AfterPropertieSet是否保证内部属性也被初始化?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有以下课程: public class C implements InitializingBean { @Autowired private B b; @override public void afterPropertiesSet() { b.doSomething(); } } public class b { @Autowired private A a; public void doSom
public class C implements InitializingBean {
@Autowired
private B b;
@override
public void afterPropertiesSet() {
b.doSomething();
}
}
public class b {
@Autowired
private A a;
public void doSomething() {
a.foo()
}
}
似乎我在b.doSomething
中得到了一个空异常,因为a
尚未初始化。
它是否保证调用AfterPropertieSet,内部类中的属性也被初始化
谢谢,
Nir。简短回答是
正如你在这里看到的:
后处理器(如afterPropertiesSet)在PopulateProperty之后调用,因此这些字段不再为null
如果某些东西没有自动连线,那是因为Spring不知道该类-您需要用例如@Component
简短回答yes为Spring标记它
正如你在这里看到的:
后处理器(如afterPropertiesSet)在PopulateProperty之后调用,因此这些字段不再为null
如果某些东西没有自动连接,那是因为Spring不知道该类-您需要使用例如
@Component
为Spring标记它,谢谢您的回答。我已经验证了我的内部类被标记为组件。由于某些原因,它仍然没有初始化。谢谢您的回答。我已经验证了我的内部类被标记为组件。由于某些原因,它仍然没有初始化。