2012-11-06 45 views
2

我有一個Spring Bean,它有一個@Autowired setter getter注入。然而,當我嘗試訪問注入的bean時,我得到NullPointerException,因爲注入的bean沒有被真正注入。如何保證在構造函數中可以訪問Spring @ Autowired注入

有沒有什麼方法可以保證在建築物調用之前完成注入?

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

@Autowired 
B; 

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

//Setter Getters 
} 

回答

4

使用@PostConstruct註釋。這將在Spring初始化bean之後調用。

@Autowired 
B b; 

public A() { 
} 

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

這是從javax.* API

+0

感謝。現在起作用了。 – erencan

相關問題