spring bean 容器的生命周期
时间: 2023-10-11 18:08:37 浏览: 80
Spring bean 容器的生命周期可以分为三个阶段:实例化、初始化和销毁。
1. 实例化阶段:在这个阶段,Spring 容器会根据配置信息创建 bean 的实例。根据配置的不同,Spring 可以通过构造函数实例化 bean,也可以通过工厂方法来创建实例。在这个阶段,Spring 只是创建了对象的实例,并没有进行属性注入或其他初始化操作。
2. 初始化阶段:在实例化后,Spring 容器会对 bean 进行初始化。这个阶段包括以下几个步骤:
- 属性注入:Spring 容器会将配置的属性值注入到 bean 的属性中,可以通过 XML 配置或注解来完成属性注入。
- Aware 接口回调:如果 bean 实现了 Aware 接口,容器会调用相应的回调方法,让 bean 对容器的一些特定情况做出响应。
- 自定义初始化方法:如果在配置中指定了自定义的初始化方法,Spring 容器会调用该方法进行额外的初始化操作。
3. 销毁阶段:当 Spring 容器关闭时,会触发 bean 的销毁操作。销毁阶段包括以下几个步骤:
- 实现 DisposableBean 接口:如果 bean 实现了 DisposableBean 接口,容器会调用其 destroy() 方法进行销毁操作。
- 自定义销毁方法:如果在配置中指定了自定义的销毁方法,Spring 容器会调用该方法进行额外的销毁操作。
需要注意的是,对于单例作用域的 bean,默认情况下 Spring 容器会管理其完整的生命周期,而对于原型作用域的 bean,Spring 容器只负责创建和初始化,不会进行销毁操作,需要手动释放资源。
阅读全文