您的位置:首页 > 编程语言 > Java开发

【Spring】 Spring容器中Bean的生命周期

2018-02-28 16:31 453 查看


1、Spring 对 Bean 进行实例化 ;

2、Spring 按照Spring容器应用上下文对实例化的 Bean 依赖属性进行 IOC 注入;

3、如果 Bean 实现了 BeanNameAware 接口,则执行Bean实现 BeanNameAware 的 setBeanName() 方法 ;

4、如果 Bean 实现了 BeanFactoryAware 接口,则执行Bean实现 BeanFactoryAware 的 setBeanFactory() 方法,把BeanFactory容器实例作为参数传入,BeanFactory需要自己定义 ;

5、如果 Bean 实现了 ApplicationContextAware 接口,则执行Bean实现 ApplicationContextAware 的 setApplicationContext()方法,把ApplicationContext上下文作为参数传入;

6、如果 Bean 实现了 BeanPostProcessor 接口,则执行Bean实现 BeanPostProcessor 的 postProcessBeforeInitialization() 前置处理方法 ;

7、如果 Bean 实现了 InitializingBean 接口,则执行Bean实现 InitializingBean 的 afterPropertiesSet() 方法;

8、如果 Bean 定义了自定义的 init-method,则执行该 Bean 的自定义初始化方法;

9、在实例化 Bean之后,如果 Bean 实现了 BeanPostProcessor 接口,则执行Bean实现 BeanPostProcessors 的 postProcessAfterInitialization() 后置处理方法;

10、Bean准备就绪,Bean将一直驻留在Spring容器应用上下文中,直到应用上下文被销毁;

11、如果 Bean 实现了 DisposableBean 接口,则执行Bean实现 DisposableBean 的 destroy() 方法;

12、如果 Bean 定义了自定义的 destroy-method,在容器关闭之前时,则执行该 Bean 的自定义销毁方法;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: