struts2配置单例模式

Posted Warren技术宅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2配置单例模式相关的知识,希望对你有一定的参考价值。

struts2中spring配置文件去掉action的属性 scope="prototype"为单例模式

scope = "prototype" 会在该类型的对象被请求时创建一个新的action对象。如果没有配置scope=prototype则添加的时候

不会新建一个action,他任然会保留上次访问的过记录的信息。


 singleton模式指的是对某个对象的完全共享,包括代码空间和数据空间,说白了,如果一个类是singleton的,假如这个

类有成员变量,那么这个成员变量的值是各个线程共享的(有点类似于static的样子了),当线程A往给变量赋了一个值

以后,线程B就能读出这个值。因此,对于前台Action,肯定不能使用singleton的模式,必须是一个线程请求对应一个

独立的实例。推而广之,只要是带数据成员变量的类,为了防止多个线程混用数据,就不能使用singleton。


以上是关于struts2配置单例模式的主要内容,如果未能解决你的问题,请参考以下文章

struts2 Action生命周期

单例模式与线程安全问题浅析

整合spring之后,struts2里面的自定义拦截器的invocation.invoke()总是返回input

Struts2开发者模式

Struts2 源码分析——配置管理之PackageProvider接口

ThreadLocal和单例对象比较