请问下SPRING和STRUTS2的高手朋友一个关于BEAN作用域的问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:33:02
先谢谢您的关注.
是这样的我在做一个项目,这里面SPRING接管了STRUTS2的ACTION的生成,ACTION采用的是模型驱动,里面有个USER类,储存了USER的一些信息,
<bean name="RegisterAction" class="com.trablog.web.action.RegisterAction"
scope="request">
<property name="user" ref="user"></property>
</bean>
一般来说这个user是由ACTION自动生成的,但是我像继续把生成的USER用SPRING注入到其他类中继续使用,但是如果不想这个ACTION中注入USER或者注入了USER但USER的作用域是prototype都是不能被继续注入到其他类中的,于是我把USER设置成了单例模式,我以为这样比如我在注册时输入错了一次信息再输入是由于USER是单例的应该不变,但是实际上变了,可以正常注册,问题又来了难道USER是ACTION生成的?但是如果是ACTION生成的,USER又怎么可以正常注入到其他类中呢?
请教下,谢谢了

User的对象是由spring的ioc容器生成的,可以再配置文件里面把它分配给有需要的action,如果是singleton模式,那么使用的user都是同一个对象,第二个需要访问user对象的action则需要等待第一个action访问完以后才可以访问,如果是prototype,则每请求一次,就spring就重新生成一个user对象,就是这么简单!