Spring管理的Bean的作用域以及生命周期

一.配置Bean的作用域:

<bean id="..." class="..." scope="prototype"/>

 通过配置bean标签中的scope属性来配置Bean的作用域,scope有以下几种取值:

      singleton:单例模式,即通过spring容器取得的所有bean的实例都为同一实例(默认情况下为单例模式)

      prototype:原型模式,即每次通过spring容器取得的bean都是一个新的实例

如果是web应用,则还可以为bean配置以下三种作用域:

      request:bean作用域为request范围内

      session:bean作用域为session范围内

      global session:bean作用域为application范围内

 

二.bean的生命周期

 bean类的初始化:

 1.不配置lazy-init的情况下

      bean的作用域为singleton,bean类的初始化会在spring容器初始化的时候完成。

      bean的作用域为prototype,bean类会在通过spring容器获取bean类的时候进行初始化。

 2.配置lazy-init的情况下,上诉两种作用域的bean都会在通过spring容器获取其实例的时候完成初始化。

 

 

 配置bean的延迟初始化:

 1.配置单个bean类的延迟初始化:

<bean id="..." class="..." lazy-init="true"/> 

2.配置所有bean类的延迟初始化:

<beans .... default-lazy-init="true">
      ....
     <bean id="..." class="..." />
      ....
</beans>

   在配置了default-lazy-init属性后,如要单独修改某个bean类的延迟初始化,在该bean类中在配置lazy-init属性即可

 

配置bean的初始化方法及销毁方法:

1.配置单个bean类:

<bean id="..." class="..." init-method="init"  destroy-method="destroy"/>

2.配置所有bean类:

<beans .... default-destroy-method="destroy" default-init-method="init">
      ....
     <bean id="..." class="..." />
      ....
</beans>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值