spring IOC容器的作用域

在Spring2.0中,Spring只为在每个IOC 容器中声明的bean创建一个实例,整个IOC容器范围内都能共享该实例,后续的getBean()和对bean的引用都将返回这个唯一的bean实例。该作用域被称作singleton,它是所有bean的默认作用域。

在 IOC容器中bean的作用域

singleton:在每个IOC容器中每个bean定义对应一个对象实例

prototype:原生,一个bean定义对应多个对象实例

request:在一个http请求中,一个bean定义对应一个实例,即每次http请求都将会有自己的bean实例

session:在一个http请求中,一个bean定义对应一个实例,该作用域仅在基于web的spring ApplicationContext情形下有效

 

============================

Spring中定制bean的初始化和销毁过程

Spring的IOC容器可以管理Bean的生命周期,容许bean在生命周期的特定点执行定制的任务

spring的IOC容器对bean的管理过程

通过构造器或者工厂方法创建bean实例

为bean的属性设置其他值和对其他bean的引用

调用bean的初始化方法

bean可以使用了

当容器关闭时,调用bean的关闭方法

==================================================

分离关注:将与业务无关的方法分离出去,就叫做分离关注

在利用注解进行分离关注的操作时,需要做两点

1.设置自动扫描的包

2.配置必须的bean后置处理器

@preConstructor:前置处理器

@postConstructor后置处理器

 

===================================================

外部化bean的配置

在xml配置文件中,有时需要在bean的内部混入一些系统部署的细节信息(如文件路径和数据源配置),而这些部署的细节实际上需要和bean相分离

spring提供了一个propertyPlaceHolderConfiurer的beanFactory的后置处理器,这个处理器容许用户将bean的配置部分内容移到属性文件中,可以在bean的配置文件里使用形式为

$(var)的变量,propertyPlaceHolderConfiurer从配置文件里加载属性,并利用这些属性替换这些变量

将需要配置的信息全部写到属性文件中

在xml的配置文件中只需要导入外部化的属性配置文件

这样做法是耦合度越小越好,

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值