常用的javabean的初始化方法為,構造方法,@PostConstruct,以及實現InitializingBean接口的afterPropertiesSet方法。
note在構造方法執行時候,spring還沒有對bean中注入屬性,即是@autowired還沒有生效。
@PostConstruct,以及實現InitializingBean接口的afterPropertiesSet方法,都是在@autowired生效后。
接下來研究三個方法的執行順序。
@Service
public class AService extends FunService {
public AService(){
System.out.println("構造方法");
}
@PostConstruct
private void init(){
System.out.println("PostConstruct");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("afterProperties");
}
}
執行結果:
構造方法
PostConstruct
afterProperties