【发布时间】:2014-12-13 09:23:04
【问题描述】:
我会用一个简单的例子来解释我的问题:
public class A () {
private B b;
public A () { /* ... */ }
public B getB () { /* ... */ }
@Autowired
public void setB (B b) { /* ... */ }
public init (int x, int y, float rx, float ry) { /* ... */ }
}
和
public class B () {
private A a;
public B () { /* ... */ }
public A getA () { /* ... */ }
@Autowired
public void setA (A a) { /* ... */ }
public init (int x, int y, float rx, float ry) { /* ... */ }
}
所以我需要在注入之前调用 init() 方法,因为在注入后立即从注入的组件中调用方法,以每秒 fps 次循环,当然没有初始化,所以我得到 NullPointerException。
我使用 setter 注入并使用 context.getBean("A") 创建对象。
有没有办法在注入前调用方法init()?
【问题讨论】:
标签: java spring dependency-injection javabeans autowired