生命周期:从生到死的过程。那么对于bean来说就是从创建到销毁的过程。
普通的Java对象的创建由我们new创建,然后在不用的时候,java回收机制会自动回收。那么bean呢?
bean是spring中的对象,和普通对象不一样的就是bean是由spring创建和管理的,我们使用的时候直接调用,bean的生命周期由spring决定。
那么一个bean的生命周期可以分为五部分:
- 实例化:给bean分配内存空间。注意:实例化和初始化不一样,实例化只是分配一个内存空间。
- 设置属性:依赖注入.
- 初始化:执行各种通知,如BeanNameAware;执行初始化。
- 使用bean
- 销毁bean
bean的销毁是要在容器(上下文)销毁前才回去执行的。
只有这些是不会执行的,要加上容器的销毁:
这样就会在容器销毁前执行bean销毁的方法。
为什么属性装配在初始化前边呢?
因为初始化的时候可能会用到有的方法或者值,所以要先一步进行属性装配。