zoukankan      html  css  js  c++  java
  • Spring 学习笔记 Bean的作用域

    在配置文件中定义Bean时,用户不但可以配置Bean的属性值以及相互之间的依赖关系,还可以定义Bean的作用域。作用域将对Bean的生命周期和创建方式产生影响。在低版本的Spring中,仅有两个作用域singleton和prototype,在spring 2.0中,针对WebApplicationContext新添了3个新的作用域。下面列出了Spring 2.0支持的所有作用域类型。

    Bean的作用域类型

    singleton :在Spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在;
    prototype :每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行new XxxBean()的操作;
    request每次HTTP请求都会创建一个新的Bean。该作用域仅适用于WebApplicationContext环境.
    session同一个HTTP  Session共享一个Bean,不同于HTTP Session使用不同的Bean。该作用域仅使用于WebApplicationContext环境.
    globalSession:同一个全局Session贡献一个Bean,一般用于Portlet应用环境,该作用域仅适用于WebApplicationContext环境.

        在低版本的Spring 中,由于只有两个Bean作用域,所以采用singletion="true|false"的配置方式,Spring为了向后兼容,依旧支持这种配置方式。不过Spring推荐采用新的配置方式:scope="<作用域类型>"。除了以上5中预定义的Bean作用域外,Spring还允许用户自定义Bean的作用域,可以通过org.springframework.beans.factory.config.Scope接口定义新的作用域,再通过org.springframwwork.beans.factory.config.CustomScopeConfigurer这个BeanFactoryPostProcessor注册定义的Bean作用域。不过我们认为在一般的应用中,Spring所提供的作用域已经能够满足应用的要求,用户很少需要自定义新的作用域。


  • 相关阅读:
    [转]window.location方法获取URL及window.location.assign(url)和replace(url)区别
    [转]JQuery实现图片轮播效果
    [转]MVC Checkbox
    [转]VS2010类模板更改,增加版权等等信息
    [转]【译】详解Asp.net MVC DropDownLists
    [转]JQuery.Ajax之错误调试帮助信息
    设置Html.TextBoxFor的Value值 及 去除数字无效的零及小数点
    [转]使用RDLC报表(1) (4)
    [转]ASP.NET MVC 2 模板化辅助方法
    [转]jquery实现图片延时加载
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300368.html
Copyright © 2011-2022 走看看