从源码角度看Spring生命周期(官方最全)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33661044/article/details/79740016

Spring在beanfactory中给出了spring的生命周期的list列表
一、bean初始化前的处理

Bean factory implementations should support the standard bean lifecycle interfaces
as far as possible. The full set of initialization methods and their standard order is:
 * 1. BeanNameAware's {@code setBeanName} 在创建这个bean的工厂中设置bean的名字
 * 2. BeanClassLoaderAware's {@code setBeanClassLoader} 给bean提供类加载器
 * 3. BeanFactoryAware's {@code setBeanFactory}>  给Bean提供beanfactory
 * 4. ResourceLoaderAware's {@code setResourceLoader} 设置资源解析器支队applicaitonContext容器有用
 * (only applicable when running in an application context)
 * 5. ApplicationEventPublisherAware's {@code setApplicationEventPublisher} 设置事件发布
 * (only applicable when running in an application context)
 * 6. MessageSourceAware's {@code setMessageSource} //设置资源处理
 * (only applicable when running in an application context)
 * 7. ApplicationContextAware's {@code setApplicationContext} //设置上下文处理器
 * (only applicable when running in an application context)
 * 8. ServletContextAware's {@code setServletContext} //设置servlet上下文只对webapplicationcontext起作用
 * (only applicable when running in a web application context)
 * 9. {@code postProcessBeforeInitialization} methods of BeanPostProcessors //设置bean前置处理

二、bean的初始化(继承initializingbean接口或者自定义init-method方法)

 * 10. InitializingBean's {@code afterPropertiesSet} 
 * 11. a custom init-method definition
 * 12. {@code postProcessAfterInitialization} methods of BeanPostProcessors

三、bean的销毁(继承disposableBean接口或者自定义destroy-method方法)

 * On shutdown of a bean factory, the following lifecycle methods apply:
 * 1. DisposableBean's {@code destroy}
 * 2. a custom destroy-method definition

猜你喜欢

转载自blog.csdn.net/qq_33661044/article/details/79740016