今天我们将一起探讨Spring框架中的一个重要概念——Bean的作用范围及其生命周期管理。在Spring容器中,每个Bean都有其特定的存在方式和生命阶段,这直接影响到应用程序的性能、资源管理和依赖注入行为。
一、Bean的作用域(Scope)
(一)singleton作用域
- 这是Spring容器默认的作用域,对于每一个Spring IoC容器而言,无论何时请求一个名为
X
的singleton Bean,都将返回同一个共享实例。 - 生命周期:Singleton Bean在容器启动时初始化,并且在整个容器生命周期内始终存在,直到容器关闭。
(二)prototype作用域
- 每次通过
getBean()
方法请求一个prototype类型的Bean时,Spring容器都会创建一个新的实例。 - 生命周期:Prototype Bean的生命周期从被请求时开始,创建后由客户端代码控制,Spring容器不再管理其生命周期。