Spring-8 , bean的作用域

来源:互联网 发布:网络文明调查报告总结 编辑:程序博客网 时间:2024/06/05 22:48

bean的作用域

在spring IOC容器中,每个bean默认以单例存在,可以通过设置bean的scope属性来指定bean的作用域,

默认情况下,在IOC容器的生命周期里,为每一个bean创唯一一个实例,在整个IOC容器范围内共享该实例。也就是说,默认情况下,每一次从容器中获取bean都是获取的唯一实例

主要有四种属性:

  1. singleton:在spring IOC容器中bean以单实例的模式存在

  2. prototype: 原型,每次从容器中获取bean,都会返回一个新的实例

  3. request:在web环境下,每次http请求都会创建一个新的bean

  4. session: 在web环境下,同一个http session使用同一个bean,不同的http session使用不同的bean

例如

在配置文件中配置一个bean为car

    <bean id="car" class="com.tuxianchao.spring.beans.Car" p:brand="audi"        p:corp="aa" p:price="1000000" >    </bean>

这里写图片描述

默认为单例作用域,这里car只被创建了一次,且两次获取到的bean相同

修改配置文件后:

    <bean id="car" class="com.tuxianchao.spring.beans.Car" p:brand="audi"        p:corp="aa" p:price="1000000" scope="prototype">    </bean>

这里写图片描述

这里两次获取bean,car创建了两个,且两次获取到的bean也不相同

0 0
原创粉丝点击