Spring Bean的实例化和初始化
Bean初始化执行顺序
- 1、构造方法
- 2、以来注入、属性设置
- 3、@PostConstruct注解的方法(反射机制调用)
- 4、afterPropertiesSet方法(实现InitializingBean接口)
- 5、init-method指定的方法(xml中,通过反射机制调用)
- 6、bean自己玩耍
- 7、destory-method指定的方法(xml中,通过反射机制调用)
- 8、destroy方法(实现DisposableBean接口)
- 9、@PreDestroy注解的方法(反射机制调用)
@PostConstruct和 init-method方法都是通过反射调用,所以效率不高,建议使用方法3
@PostConstruct和@PreDestroy 实现原理
@PostConstruct和@PreDestroy是通过Spring的后置处理器InitDestroyAnnotationBeanPostProcessor实现功能,如图: