springpring初始化bean的3种方式

第一种方式: 使用注解@PostConstruct

@PostConstruct
public void init() {
  System.out.println("spring 初始化bean的第1种方式");
}

 

第二种方式: 实现InitializingBean接口

public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

实现这个接口, 在afterPropertiesSet方法内完全实例化操作

 

第三种方式:  init-method

public class MyClass {
   public void init() {
      //这儿
   }
}
@Configuration
public class AppConfig {
   @Bean(initMethod = "init")
   public MyClass myclass() {
      return new MyClass ();
   }
}

 

这3种方式的执行顺序是按1,2,3的顺序操作,也就是注解方式最先执行, init-method方法最后执行 (PAI)

spring框架通过BeanPostProcessor类提供了初始化bean的前置和后置操作

销毁bean也有3种方式 (PDD),不过在工作也没遇见过.

 

 

posted on 2020-03-25 23:10  显示账号  阅读(139)  评论(0编辑  收藏  举报