在Spring中,bean的初始化可以通过两种方式来完成:使用@Bean注解的initMethod属性或者实现InitializingBean接口。
@Bean(initMethod = "init")
public MyBean myBean() {
return new MyBean();
}
这样,在bean实例化之后,就会调用指定的初始化方法init()。
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// 初始化操作
}
}
在bean实例化之后,Spring会自动调用afterPropertiesSet()方法进行初始化操作。
以上两种方式可以单独使用,也可以同时使用。当两种方式一起使用时,首先会调用实现InitializingBean接口的afterPropertiesSet()方法,然后再调用使用@Bean注解的initMethod属性指定的方法。