2

我有一个 Spring Bean,它有一个 @Autowired setter getter 注入。但是,当我尝试访问注入的 bean 时,我得到 NullPointerException 因为注入的 bean 并没有真正注入。

有什么方法可以保证在构造调用之前完成注入?

@Component
@Scope("session")
public class A{

@Autowired
B;

public A()
{
//B is null here, because it has not been injected yet.
}

//Setter Getters
}
4

1 回答 1

4

使用@PostConstruct注释。这将在 Spring 初始化您的 bean 后立即调用。

@Autowired
B b;

public A() {
}

@PostConstruct
public void doAfterConstructorIsCalled() {
    b.do();
}

它来自javax.* API

于 2012-11-06T14:41:36.283 回答