一、Spring Framework支持五种作用域
1、singleton : 一个bean定义对应一个对象实例 (spring容器缺省作用域)
2、prototype : 一个bean定义对应多个对象实例 (对所有有状态的bean应该使用prototype作用域,而对无状态的bean则应该使用singleton作用域,Dao不会被配置成prototype,应该是无状态的singleton
3、request: 在一次http请求中,一个bean定义对应一个实例,即每次http请求将会有各自得bean实例,它们依据某个bean定义创建而成。该作用域仅在基于web的spring applicationcontext情形下有效。
4、session : 在一个http session中,一个bean定义对应一个实例。该作用域仅在基于web的spring applicationcontext 情形下有效
5、global session :在一个全局的http session中,一个bean定义对应一个实例
二、web使用的作用域
1、Request作用域 :在当前http request内有效,当请求结束后,request作用域的bean实例将销毁
2、Session作用域 :在当前http Session内有效
3、global session作用域 : 仅仅在基于portlet的web应用中才有意义
三、作用域bean与依赖
1、能够在HTTP request或者Session(甚至自定义)作用域中定义bean固然很好,但是Spring IoC容器除了管理对象(bean)的实例化,同时还负责协作者(或者叫依赖)的实例化。如果你打算将一个Http request范围的bean注入到另一个bean中,那么需要注入一个AOP代理来替代被注入的作用域bean。也就是说,你需要注入一个代理对象,该对象具有与被代理对象一样的公共接口,而容器则可以足够智能的从相关作用域中(比如一个HTTP request)获取到真实的目标对象,并把方法调用委派给实际的对象
2、xml配置文件中,要创建一个作用域bean的代理
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<aop:scoped-proxy/>
3、参考文档
http://www.xuehuile.com/blog/14f393edfeb24c259caaf5cf762ceb1d.html
http://blog.arganzheng.me/posts/spring-bean-scopes.html
相关推荐
Spring 的bean的作用域总结,详细的总结了 Spring 的bean的作用域
讲解了spring的6种作用域:singleton(单例)、non-singleton(也称 prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean
spring bean 的作用域(scope), SPringle bean的作用域
Spring Bean 的作用域之间有什么区别:Bean的作用域: 可以通过scope 属性来指定bean的作用域 ①singleton: 默认值。当IOC容器
SSH笔记-bean的作用域,通过在配置文件的bean标签中使用scope属性来实现作用域的配置
使用了ApplicationContextAware接口,获取spring管理的bean; 多项目整合夸spring容器获取bean的实现方式。
详解Spring中bean的作用域,一级对action的管理方式,方便对spring有一个深入的了解
NULL 博文链接:https://huangminwen.iteye.com/blog/1486717
JSP 中Spring Bean 的作用域详解 Bean元素有一个scope属性,用于定义Bean的作用域,该属性有如下五个值: 1>singleton: 单例模式,在整个spring IOC容器中,单例模式作用域的Bean都将只生成一个实例。一般Spring...
如果bean的作用域的属性被声明为 singleton, 那么Spring Ioc容器只会创建一个共享的bean实例。对于所有的bean请求,只要id与该bean定义的相匹配,那么Spring在每次需要时都返回同一个bean实例。 Singleton是单例...
01.Spring Bean的作用域代码
主要介绍了Spring实战之Bean的作用域request用法,结合实例形式分析了spring中Bean的request作用域相关使用技巧与操作注意事项,需要的朋友可以参考下
JSP 中Spring Bean 的作用域详解.docx
07_SSM面试题_Spring Bean的作用域之间有什么区别
主要介绍了Spring实战之Bean的作用域singleton和prototype用法,结合实例形式分析了Bean的作用域singleton和prototype相关使用方法及操作注意事项,需要的朋友可以参考下
主要介绍了SPRING FRAMEWORK BEAN作用域和生命周期原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要给大家介绍了Spring中Bean的生命周期和作用域及实现方式的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
主要介绍了浅谈Spring中Bean的作用域、生命周期,具有一定借鉴价值,需要的朋友可以参考下
* * * * Bean的作用域 作用域的种类 Spring 4.3中为Bean的实例定义了7种作用域,如下表所示: 注意:在上表7种作用域中,singleton和prototype是最常用的两种作用域。 在Spring配置文件中,可以使用<bean>元素的...
Spring容器中Bean的作用域编程开发技术共3页.pdf.zip