Spring中Bean的作用范围(生命周期)

Spring框架里的IOC容器可以方便的管理应用里面的bean对象的实例,只需要按照Spring里提供的xml或注解的方式去告诉IOC容器哪些Bean需要被IOC容器管理就行。

既然是Bean对象的管理,那么意味着这些实例是存在生命周期的,也就是所谓的作用域。

理论上,常规的声明周期有俩种,

一种是Singleton(单例):这是Spring的默认作用范围。在单例模式下,Spring IoC容器中仅存在一个Bean实例。

另一种是Prototype(原型):每次从Spring IoC容器中请求Bean时,都会创建一个新的Bean实例。

但是在基于spring框架下的web应用里增加了一个会话维度来控制bean的生命周期的这样一个功能。主要有三个选项,分别为:

Request(请求):Bean的作用范围限定在一次HTTP请求的生命周期内。这意味着,每次HTTP请求都会创建一个新的Bean实例,

Session(会话):Bean的作用范围限定在一个用户会话的生命周期内。

Global Session(全局会话):Bean的作用范围限定在整个全局会话的生命周期内。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SpringBean对象的生命周期可以分为以下几个步骤: 1. 加载Bean定义:在Spring容器启动时,会读取配置文件或注解,将Bean定义加载到内存。这些定义描述了Bean的各种属性,如类的路径、初始化方法、销毁方法等。 2. 创建Bean实例:根据加载的Bean定义,Spring容器会使用合适的实例化策略创建Bean的实例。这可能涉及到使用构造函数、工厂方法或反射来实例化Bean。 3. 设置Bean属性:在创建Bean实例后,Spring容器会使用依赖注入的方式设置Bean的属性。这包括通过构造函数、setter方法或字段注入来为Bean的属性赋值。 4. 调用Bean的初始化方法:一旦Bean的所有属性都被设置好,Spring容器会调用Bean的初始化方法。这个初始化方法可以通过在Bean定义配置指定的方法名来调用,也可以实现InitializingBean接口来定义初始化逻辑。 5. 注册Bean后置处理器:在Bean的初始化方法调用之前,Spring容器会注册Bean后置处理器,这些处理器可以在Bean初始化前后对Bean进行自定义处理。这个阶段的主要方法是registerBeanPostProcessors。 6. Bean的使用:一旦Bean的初始化方法调用完成,Bean就可以被应用程序使用了。 7. 销毁Bean:当Spring容器关闭时,会调用Bean的销毁方法进行资源的释放。这个销毁方法可以通过在Bean定义配置指定的方法名来调用,也可以实现DisposableBean接口来定义销毁逻辑。 总结来说,SpringBean对象的生命周期包括加载Bean定义、创建Bean实例、设置Bean属性、调用初始化方法、注册Bean后置处理器、Bean的使用和销毁Bean的过程。这些步骤确保了Bean在Spring容器的正确创建、初始化和销毁,从而实现了灵活的Bean管理和生命周期控制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值