SpringMVC之控制器的单例和多例管理

版权声明:本文为博主原创文章,未经博主允许不得转载。

在使用Spring3对控制器Controller进行bean管理时,如果要对控制器是否单例进行管理。

有两种方式配置多例模式:

1.springXML

2.注解本身的控制器类

[java] view plaincopyprint?

  1. @Controller
  2. @Scope("prototype")
  3. public class HelloContorller {
  4. private int index=0;
  5. Logger logger=Logger.getLogger(HelloContorller.class.getName());
  6. //hello world例子
  7. @RequestMapping(value="/hello")
  8. public String hello(){
  9. logger.info("spring mvc hello world!"+index++);
  10. return "hello";
  11. }
  12. }

这里有个困惑就是当index变量为静态时,那么尽管是多例模式下,对于每次请求访问,index变量都会累积相加。所以可以初步断定,多例的产生原理不简简单单是重新new一个控制器。

时间: 2024-10-14 00:00:51

SpringMVC之控制器的单例和多例管理的相关文章

SpringMVC Controller单例和多例

对于SpringMVC Controller单例和多例,下面举了个例子说明下. 第一次:类是多例,一个普通属性和一个静态属性. 结果:普通属性:0.............静态属性:0 普通属性:0.............静态属性:1 普通属性:0.............静态属性:2 普通属性:0.............静态属性:3 所以说:对于多例情况普通属性时不会共用的,不会产生影响,对于静态属性会去共用这个属性. 第二次:类改为单例 结果:普通属性:0.............静态属

SpringMVC<from:form>表单标签和<input>表单标签简介 转http://blog.csdn.net/hp_yangpeng/article/details/51906654

SpringMVC<from:form>表单标签和<input>表单标签简介 在使用SpringMVC的时候我们可以使用spring封装的一系列表单标签,这些标签都可以访问到ModelMap中的内容.下面将对这些标签一一介绍. 在正式介绍SpringMVC的表单标签之前,我们需要先在JSP中声明使用的标签,具体做法是在JSP文件的顶部加入以下指令: Jsp代码 <%@taglib uri="http://www.springframework.org/tags/fo

Spring4 In [email&#160;protected]单例、多例Bean

Spring In [email protected]单例.多例Bean 代码下载地址:http://download.csdn.net/download/poiuy1991719/9967494 Singleton:单例    @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)@Scope("singleton") Prototype:每次注入都会创建新的   @Scope(ConfigurableBeanFactory.SCOPE_PRO

单例和多例的区别

单例和多例的区别 单例多例需要搞明白两个问题:1. 什么是单例多例:2. 如何产生单例多例:3. 为什么要用单例多例4. 什么时候用单例,什么时候用多例:1. 什么是单例.多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 一.单例模式和多例模式说明: 1.         单例模式和多例模式属于对象模式. 2.         单例模式的对象在整个系统中只有一份,多例模式可以有多

Java 单例和多例详解

1. 什么是单例多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action;  2. 如何产生单例多例:在通用的SSH中,单例在spring中是默认的,如果要产生多例,则在配置文件的bean中添加scope="prototype";  3. 为什么用单例多例:之所以用单例,是因为没必要每个请求都新建一个对象,这样子既浪费CPU又浪费内存:之所以用多例,是为了防止并发问题:即一个请求

spring自动注入是单例还是多例?单例如何注入多例?

单例多例需要搞明白这些问题:      1. 什么是单例多例:      2. 如何产生单例多例:      3. 为什么要用单例多例      4. 什么时候用单例,什么时候用多例:   1. 什么是单例.多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 单例模式和多例模式说明: 1. 单例模式和多例模式属于对象模式. 2. 单例模式的对象在整个系统中只有一份,多例模式可以有

SpringMVC处理Form表单

一 测试项目搭建 (1)新建Java Web项目,并引入几个SpringMVC项目所需要的jar包,项目结构和所需要的jar包如下:    (2)web.xml与springmvc的相关配置: i)web.xml: <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          

详略。。设计模式2——单例变形(多例).。。。studying

★ 缓存在单例中的使用("单例+缓存"技术) 缓存在编程中使用非常频繁,有着非常关键的数据,它可以帮助程序实现以空间换取时间, 通常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放单例对象的类. 说明:该缓存中能够存放多个该类对象,每一个对象以一个key值标识.key值同样时所訪问的是同一个单例对象. ★ 单例变形--多例模式("单例+缓存+控制实例个数"技术) 把上面缓存的单例实现,做成一个可以控制对象个数的共享空间,供整个应用程序使用. 在缓存中维

Unity3D 单例(singleton)管理类

在Unity3D中,有什么好的方法去创建一个单例游戏管理类,可以像一个全局类的静态变量一样到处访问? 在Unity中有什么接口吗?我是否要把这个脚本添加到一个物体上呢?这个类可以仅仅放在文件夹里不用添加到场景里吗? 通常来说视情况而定,常用的两种单例类. (1)组件式的添加在物体上. (2)不从MonoBehaviour继承的独立类. public class MainComponentManger { private static MainComponentManger instance; p