戴着假发的程序员出品
@Bean的initMethod属性
spring应用手册(第二部分)
java.lang.String initMethod() default "";
initMethod属性通过bean标签中的initMethod属性一样,也是来配置实例化之后的初始化方法的。
参照spring的bean加载流程。
spring在创建bean对象之后就会调用initMethod指定的初始化回调方法。
案例:
我们修改ArticelDAO的程序:添加一个构造方法和一个初始化回调方法init。
/**
* @author 戴着假发的程序员
*
* @description
*/
public class ArticleDAO implements IArticleDAO {
public ArticleDAO(){
System.out.println("创建ArticleDAO对象");
}
public void init(){
System.out.println("执行ArticleDAO的初始化回调方法init");
}
@Override
public int save(String title) {
System.out.println("ArticleDAO-save->保存文章:"+title);
return 1;
}
}
在ArticleDAO的@Bean注册方法中添加配置:
//配置 ArticleDAO对象
@Bean(initMethod = "init")
public static IArticleDAO articleDAO(){
return new ArticleDAO();
}
在测试:
一旦创建容器就会创建对象,并且执行其初始化回调方法init。