spring之scope作用域

spring中,bean的作用域有五种类型:默认是单例模式,

        singleton

        prototype

        request

        session

        global session

配置作用域时,使用 scope属性,xml文件配置如下,

查看spring官方文档,解释如下:

1、singleton

    如果一个bean配置为singelton,表示该bean在spring IOC容器中只有一个实例,也就是单例

配置如下:下面两种配置是一样的,默认使用singleton

可以新建spring工程进行测试:观察返回为true还是false

2、prototype

prototype作用域部署的bean,每一次请求都会产生一个新的bean实例,相当与一个new的操作

对于prototype新建的实例,spring容器不会执行他的生命周期回调方法,可以参考我写的spring之生命周期文档。

spring官方文档中解释如下

3、request, session, and global session scopes这三种作用域主要用在web中,

request:表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效

session:表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效

global session:表示该针对每一次HTTP请求都会产生一个新的bean,不过它仅仅在基于portlet的web应用中才有意义

时间: 2024-10-05 01:02:43

spring之scope作用域的相关文章

spring中scope作用域(转)

摘自 http://www.cnblogs.com/qq78292959/p/3716827.html 今天研究了一下scope的作用域.默认是单例模式,即scope="singleton".另外scope还有prototype.request.session.global session作用域.scope="prototype"多例.再配置bean的作用域时,它的头文件形式如下: 如何使用spring的作用域: <bean id="role&quo

spring中@Scope作用域的注解

@Scope简单点说就是用来指定bean的作用域 官方解释是:scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象 默认是单例模式,即singleton:Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例,一个容器对应一个bean. prototype

Spring Bean的作用域(转)

Spring Bean的作用域 .singleton  [单例] eg:<bean id="personService" class="com.yinger.service.impl.PersonServiceBean" scope="singleton"></bean> 在每个Spring IoC容器中一个bean定义只有一个对象实例. 请注意Spring的singleton bean概念与“四人帮”(GoF)模式一书中

Spring Bean的作用域 实例

Spring 默认创建的对象是单例模式的对象 设置Bean的作用域,通过Bean元的Scope属性 Scope取值范围: Singleton:单例 proptotype:非单例 Request:创建该Bean,并调用request.setAttribute("beanId",beanObj); Session:创建该Bean,并调用request.getSession().setAttribute("beanId",beanObj); globalSession:全

Spring bean的作用域以及生命周期

一.request与session的区别 request简介 request范围较小一些,只是一个请求. request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点 . 简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url.form中获取参数. 但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.

spring singleton scope与singleton pattern的区别

单态定义:     Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作. 还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且 能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的情况下方便的做到. 另外方面,Si

AngularJS Scope(作用域)

1. AngularJS Scope(作用域) Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope 可应用在视图和控制器上. 2. 使用Scope:在 AngularJS 创建控制器时,你可以将 $Scope 对象当作一个参数传递 <!DOCTYPE html> <html> <head> <meta charset="UTF-8">

Spring的scope=&quot;prototype&quot;属性

Spring的scope="prototype"属性 可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理, 避免struts中Action的线程安全问题.这句话怎么理解呢如果用单例方式会有什么样的结果呢? spring 默认scope 是单例模式这样只会创建一个Action对象每次访问都是同一个Action对象,数据不安全struts2 是要求 每次次访问 都对应不同的Action scope="prototyp

AngularJs(五)从Controller控制器谈谈$scope作用域

大纲 用于简单示例和简单应用的controller 应用 多个controller应用的作用域问题 controller继承作用域问题 Controller的创建 AngularJs controller使用无处不在,在里代码演示比较简单的创建工作. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ng-app="exampleApp"> <head> <