spring中Bean的生命周期
时间: 2023-03-21 09:01:57 浏览: 131
在Spring框架中,Bean的生命周期可以分为以下几个阶段:
1. 实例化:Spring容器根据配置文件中的定义或注解,创建Bean的实例对象。
2. 属性赋值:Spring容器将配置文件中或注解中配置的属性值注入到Bean实例中,包括基本类型、引用类型和集合类型等。
3. Aware接口回调:如果Bean实现了特定的Aware接口,Spring容器会在属性赋值后调用相应的回调方法,以便进行一些自定义的初始化操作。
4. BeanPostProcessor的前置处理:如果Spring容器中注册了任何实现了BeanPostProcessor接口的Bean,它们将被调用以完成一些定制的操作。
5. 初始化:如果Bean实现了InitializingBean接口,Spring容器会在调用BeanPostProcessor前置处理器之后调用Bean的afterPropertiesSet()方法;如果Bean配置了init-method方法,则Spring容器会调用这个方法。
6. BeanPostProcessor的后置处理:如果Spring容器中注册了任何实现了BeanPostProcessor接口的Bean,它们将被调用以完成一些定制的操作。
7. 可以使用Bean了:此时Bean已经被完全初始化,可以使用了。
8. 销毁:如果Bean实现了DisposableBean接口,Spring容器会在销毁时调用Bean的destroy()方法;如果Bean配置了destroy-method方法,则Spring容器会在销毁时调用这个方法。
需要注意的是,如果Bean是单例的,则它的生命周期将与Spring容器的生命周期相同;如果Bean是原型的,则它的生命周期将被短暂地管理,Spring容器将只会负责实例化、属性赋值和初始化。
阅读全文