spring SmartInitializingSingleton接口

  • SmartInitializingSingleton 接口
//仅适用于单例对象
public interface SmartInitializingSingleton {
	void afterSingletonsInstantiated();
}
  • 作用
该接口在bean实例化完成,包括依赖注入完成,BeadPostProcess,InitializingBean,initMethod等等全部完成后,执行;
可以理解为bean的收尾操作;
  • 使用
单例bean实现该接口,实现afterPropertiesSet方法,抒写代码逻辑;
  • 源码如下
AbstractApplicationContext.refresh(){
		  //省略...
		  // Instantiate all remaining (non-lazy-init) singletons.
		  finishBeanFactoryInitialization(beanFactory);
		  //省略...
}

spring SmartInitializingSingleton接口_第1张图片
spring SmartInitializingSingleton接口_第2张图片

spring SmartInitializingSingleton接口_第3张图片

你可能感兴趣的:(spring)