`
付绍高
  • 浏览: 35856 次
  • 性别: Icon_minigender_1
  • 来自: 江西临川
社区版块
存档分类
最新评论

Spring IoC容器中Bean的作用范围详解

阅读更多

Spring IoC容器中Bean的作用范围详解

作用域将对Bean的生命周期和创建方式产生影响.

singleton  spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在.

<bean id="userDao" class="com.fendou.daoImpl.UserDaoOrcaleImpl" scope="singleton"/>

在默认是singleton,所以可以不显式指定,springApplicationContext容器在启动时,自动实例化所有singletonBean并缓存于容器中.虽然启动时会花费一些时间,但带来两个好处:首先对Bean提前的实例化操作会及早发现一些潜在的配置问题.其次Bean以缓存的方式保存,当运行时使用到该Bean时就无须再实例化了,加快了运行效率.如果用户不希望在容器启动时提前实例化singletonBean,可以通过lazy-init属性进行控制lazy-init="true" lazy-init="true"Bean在某些情况下依旧会提前实例化:如果该Bean被其它需要提前实例化的Bean引用到,spring也将忽略延迟实例化的设置.


prototype  每次从容器中调用Bean,都返回一个新的实例,即每次调用getBean(),相当于执行new XxxBean()的操作.

在默认情况下,spring容器在启动时不实例化prototypeBean.此外,spring容器将prototypeBean交给调用者后,就不再管理它的生命周期. 根据经验,对所有有状态的bean应该使用prototype作用域,而对无状态的bean则应该使用singleton作用域。


request  每次HTTP请求都会创建一个新的Bean,该作用域仅适用于webApplicationContext环境.
session  同一个HTTP session共享一个Bean,不同HTTP session使用不同的Bean,该作用域仅适用于webApplicationContext环境.
globalSession   同一个全局session共享一个Bean,一般用于portlet应用环境,该作用域仅适用于webApplicationContext环境.

 

在低版本的spring,由于只有两个Bean作用域,所以采用singleton="true|false"的配置方式,spring2.0为了向后兼容,依旧支持这种配置方式.不过,spring2.0推荐采用新的配置方式:scope="<作用域类型>"

分享到:
评论

相关推荐

    spring在IoC容器中装配Bean详解

    主要介绍了spring在IoC容器中装配Bean详解,具有一定借鉴价值,需要的朋友可以参考下

    Spring为IOC容器注入Bean的五种方式详解

    主要介绍了Spring为IOC容器注入Bean的五种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    JSP 中Spring Bean 的作用域详解

    单例模式,在整个spring IOC容器中,单例模式作用域的Bean都将只生成一个实例。一般Spring容器默认Bean的作用域为singleton 2&gt;prototype: 与singleton相反, 每次通过容器的getBean()方法获取该作用域下的Bean时都...

    Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等).doc

    Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等).doc

    关于SpringBoot获取IOC容器中注入的Bean(推荐)

    本文通过实例代码给大家详解了springboot获取ioc容器中注入的bean问题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

    《精通Spring2.X企业应用开发详解》随书源码1-15章

    概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中装配Bean 第5章 Spring容器高级主题 第6章 Spring AOP基础 第7章 基于@AspectJ和Schema的...

    《精通Spring2.X企业应用开发详解》16-19章

    概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中装配Bean 第5章 Spring容器高级主题 第6章 Spring AOP基础 第7章 基于@AspectJ和Schema的...

    详解Spring框架---IOC装配Bean

    本篇文章主要介绍了详解Spring框架---IOC装配Bean,提供了三种方式实例化Bean,具有一定的参考价值,有兴趣的可以了解一下。

    Spring中Bean的讲解

    Spring-IOC框架请参考:IOC详解 Spring-AOP框架请参考:AOP详解 文章目录一.Bean的简介二.Bean相关配置三.自动装配四.Bean的生命周期 一.Bean的简介 Spring 官方文档对 bean 的解释是: In Spring, the objects ...

    Spring bean的实例化和IOC依赖注入详解

    主要介绍了Spring bean的实例化和IOC依赖注入详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    spring jar 包详解

    (2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,...

    《精通Spring2.X企业应用开发详解》20-23

    概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中装配Bean 第5章 Spring容器高级主题 第6章 Spring AOP基础 第7章 基于@AspectJ和Schema的...

    JAVA spring 系列案例50个和学习资料

    Spring系列第4篇:xml中bean定义详解(-)Spring系列第5篇:创建bean实例这些方式你们都知道?Spring系列第6篇:玩转bean scope,避免跳坑里!Spring系列第7篇:依赖注入之手动注入Spring系列第8篇:自动注入...

    Spring注解——@Profile详解

    Spring中的Profile功能可以理解为我们在Spring容器中所定义的Bean的逻辑组名称,只有当这些Profile被激活的时候,才会将Profile中所对应的Bean注册到Spring IoC容器中。 举个更具体的例子,我们以前所定义的Bean,当...

    吴天雄--Spring笔记.doc

    第一天内容:Spring框架简介(EJB、JMX、Spring核心功能、Spring模块详解、Spring重要概念(容器)、Spring容器初始化的整个流程、Spring后处理器),IOC详解,Spring环境搭建,Spring创建Bean的三种方式,scope属性...

    跟我学spring3(1-7).pdf

    Spring概述2.1 IoC基础2.2 IoC 容器基本原理2.3 IoC的配置使用——跟我学Spring33.1 DI的配置使用3.2 循环依赖3.3 更多DI的知识 3.4 Bean的作用域 4.1 基础知识4.2 内置Resource实现4.3 访问Resource4.4 Resource...

    spring.doc

    3.1 SpringIOC 8 3.2别名Alias 11 别名拓展: 11 3.3 Spring容器内部对象的创建 12 Spring容器内部对象创建拓展: 12 3.3.1使用类构造器实例化(默认无参数) 14 3.3.2使用静态工厂方法实例化(简单工厂模式) 14 3.3.3...

    spring注解使用详解

    基于注释(Annotation)的配置有越来越流行的趋势,Spring 2.5 顺应这种趋势,提供了完全基于注释配置 Bean、装配 Bean 的功能,您可以使用基于注释的 Spring IoC 替换原来基于 XML 的配置

    spring杂谈 作者zhang KaiTao

    1.6 »Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了) 1.7 Spring开闭原则的表现-BeanPostProcessor扩展点-2 1.8 Spring3.1 对Bean Validation规范的新支持(方法级别验证) 1.9 Spring对事务...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

Global site tag (gtag.js) - Google Analytics