2

@Autowiredセッターゲッターインジェクションを持つSpringBeanがあります。ただし、注入されたBeanにアクセスしようとすると、注入されたBeanが実際に注入されていないため、NullPointerExceptionが発生します。

コンストラクションコールの前に注入が行われることを保証する方法はありますか?

@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 に答える