首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring中的Singleton形式和Prototype模式

2012-10-06 
Spring中的Singleton模式和Prototype模式对于在Spring+Struts2结合配置ActionPrototype而言,有时候忘记

Spring中的Singleton模式和Prototype模式
对于在Spring+Struts2结合配置Action="Prototype"而言,有时候忘记了进行配置,而Spring中默认的模式为Singleton,所以导致每个Session中就会Add 一个New Action,并且会保存上次操作的记录。
其实,这也是在Struts 1 和Struts 2中不同的原因所在。在Struts 1中,所有的Action都是Singleton,并且不会存在全局变量,只是局部变量;而Struts 2中虽然是Singleton,并且存在全局变量,所以就会出现现在这种问题。
下面是一个例子代码:

<bean id="sessionFactory" ref="dataSource"></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property><property name="mappingResources"><list><value>com/test/bean/User.hbm.xml</value></list></property></bean><bean id="userDao" scope="singleton"><property name="sessionFactory"><ref bean="sessionFactory"/></property></bean><bean id="userService" ref="userDao"></property></bean><bean id="saveUserAction" scope="prototype"><property name="service" ref="userService"></property></bean>

热点排行