Spring学习总结(三)

一.bean的作用域

使用bean的scope属性配置bean的作用域

  1. singleton
    默认的,在容器的整个生命周期内只创建一个bean
  2. prototype
    创建ioc容器的时候bean没有创建,从容器中获取bean的时候才开始闯将bean,每次获取的bean不一样

  3. request
    每次http请求将会有各自的bean实例,该作用域仅在基于web的applicationContext有

  4. session
    在一个http session中,一个bean对应一个实例,基于web

  5. global session
    global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。如果你在web中使用global session作用域来标识bean,那么web会自动当成session类型来使用。

二.ioc容器中bean的生命周期

这Spring框架中,一旦把一个bean纳入到Spring IoC容器之中,这个bean的生命周期就会交由容器进行管理

  1. 通过构造器或工厂方法创建bean的实例
  2. 为bean属性设置值(bean中setXxx()方法)
  3. 调用bean初始化方法 (init())
  4. bean可以使用
  5. 当容器关闭时,调用bean销毁方法 (destroy())

bean的init-method和destroy-method属性指定bean初始化和销毁的方法。
可以在bean调用初始化方法前后容器内所有bean进行处理,实现BeanPostProcessor接口

三.spring引入外部文件

步骤:

  1. 导入属性文件
<!-- context命名空间,location指定文件位置-->
<context:property-placeholder   lacation="classpath:db.properties"/>

db.properties

user=root
password=
jdbcUrl=jdbc:mysql:///test?useUnicode=true&amp;characterEncoding=UTF-8
driverClass=com.mysql.jdbc.Driver

2.使用外部化属性文件的属性

 <!--配置数据源  -->
   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
      <property name="user" value="${user}"/>
      <property name="driverClass" value="${driverClass}"/>
      <property name="password" value="${password}"/>
      <property name="jdbcUrl" value="${jdbcUrl}"/>
   </bean>

`

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值