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