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),不过在工作也没遇见过.