在Spring中,bean的初始化可以通過(guò)兩種方式來(lái)完成:使用@Bean注解的initMethod屬性或者實(shí)現(xiàn)InitializingBean接口。
@Bean(initMethod = "init")
public MyBean myBean() {
return new MyBean();
}
這樣,在bean實(shí)例化之后,就會(huì)調(diào)用指定的初始化方法init()。
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// 初始化操作
}
}
在bean實(shí)例化之后,Spring會(huì)自動(dòng)調(diào)用afterPropertiesSet()方法進(jìn)行初始化操作。
以上兩種方式可以單獨(dú)使用,也可以同時(shí)使用。當(dāng)兩種方式一起使用時(shí),首先會(huì)調(diào)用實(shí)現(xiàn)InitializingBean接口的afterPropertiesSet()方法,然后再調(diào)用使用@Bean注解的initMethod屬性指定的方法。