精华帖 (4) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (18)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-28
caoxudong818 写道 lyy3323 写道 spring 里的action 配置 相信大家基本都是配的单列。
都是singleton吗? 以前没见过,孤陋寡人了。 spring 默认是单利。。。。这里的action和structs的不是一回事。。。 |
|
返回顶楼 | |
发表时间:2011-01-28
lyy3323 写道 Agrael 写道 是你自己弄的悲剧,struts2的action需要是prototype的。你配置成singleton的当然会保留之前的状态。验证的时候有那个Error的状态自然会错。
spring 里的action 配置 相信大家基本都是配的单列。 项目配置的问题。 我也不明白为什么把action配置成singleton有什么好处。 struts1.x中的action通常情况下,我们只会定义成员函数,不会定义成员变量,是一个无状态的类对象,也就是只有成员函数,没有成员变量,不会引起并发和线程访问问题,设置为单例,可以节省内存空间,提高执行效率,而struct2,action定义为一个普通的javaben,具有状态,如果定义成单例会引起并发和线程访问问题。当然你也可以按照struct1.x的方式来用struct2 |
|
返回顶楼 | |
发表时间:2011-01-28
lanxia39 写道 lyy3323 写道 Agrael 写道 是你自己弄的悲剧,struts2的action需要是prototype的。你配置成singleton的当然会保留之前的状态。验证的时候有那个Error的状态自然会错。
spring 里的action 配置 相信大家基本都是配的单列。 项目配置的问题。 我也不明白为什么把action配置成singleton有什么好处。 struts1.x中的action通常情况下,我们只会定义成员函数,不会定义成员变量,是一个无状态的类对象,也就是只有成员函数,没有成员变量,不会引起并发和线程访问问题,设置为单例,可以节省内存空间,提高执行效率,而struct2,action定义为一个普通的javaben,具有状态,如果定义成单例会引起并发和线程访问问题。当然你也可以按照struct1.x的方式来用struct2 的确struts1.x 的action是默认的单列模式,参数是由request来传递, 所以在使用成语变量的时候要额外注意。 struts2.x 作为一个状态BEAN 单列确实会引发同步问题。 可惜啊 ,现在的项目大家都使用spring , 都没配置bean的状态,默认是单例~~~~ |
|
返回顶楼 | |
发表时间:2011-01-28
lyy3323 写道 lanxia39 写道 lyy3323 写道 Agrael 写道 是你自己弄的悲剧,struts2的action需要是prototype的。你配置成singleton的当然会保留之前的状态。验证的时候有那个Error的状态自然会错。
spring 里的action 配置 相信大家基本都是配的单列。 项目配置的问题。 我也不明白为什么把action配置成singleton有什么好处。 struts1.x中的action通常情况下,我们只会定义成员函数,不会定义成员变量,是一个无状态的类对象,也就是只有成员函数,没有成员变量,不会引起并发和线程访问问题,设置为单例,可以节省内存空间,提高执行效率,而struct2,action定义为一个普通的javaben,具有状态,如果定义成单例会引起并发和线程访问问题。当然你也可以按照struct1.x的方式来用struct2 的确struts1.x 的action是默认的单列模式,参数是由request来传递, 所以在使用成语变量的时候要额外注意。 struts2.x 作为一个状态BEAN 单列确实会引发同步问题。 可惜啊 ,现在的项目大家都使用spring , 都没配置bean的状态,默认是单例~~~~ struts2的spring插件负责将struts2的Action动态的加入到Spring的beanfactory里,你可以去看一下代码被动态加入到beanfactory里的action的scope默认是prototype |
|
返回顶楼 | |
发表时间:2011-01-28
Struts2的设计就是多实例设计,你用了Spring来创建action对象
自然是单例,一般Spring都配置action都是多实例... |
|
返回顶楼 | |
发表时间:2011-01-28
如果是单例,里面所有的成员变量都是一样的,
这样会串数据... |
|
返回顶楼 | |
发表时间:2011-01-28
你自己是这个事件中最大的bug,
|
|
返回顶楼 | |
发表时间:2011-01-28
最后修改:2011-01-28
我见过几个项目用struts2都是让spring搞成单例,悲剧啊!
我认为JavaEE的最优思维模式:引入scope struts1,struts2,springmvc等都是浮云,甚至包括spring |
|
返回顶楼 | |
发表时间:2011-01-28
.....struts2 本来的设计就是把需要展示的数据放到action 属性,必然不能用单例模式。。。
|
|
返回顶楼 | |
发表时间:2011-01-28
最后修改:2011-01-28
struts2的action不要配成单例吧?为什么要单例啊?为什么?
|
|
返回顶楼 | |