另外testBo在另外的xml文件里声明了:<bean id="testBo" class="com.xy.bo.TestBo">
<property name="testDao"><ref bean="testDao"/></property>
<!-- <property name="transactionManager"><ref bean="transactionManager"/></property> -->
</bean>
<property name="testDao"><ref bean="testDao"/></property>
<!-- <property name="transactionManager"><ref bean="transactionManager"/></property> -->
</bean>
解决方案 »
- !!!求救,这可能是关于重定向的问题,进。谢谢
- 请教一个在jsp中等待的问题。哪位知道给指点一下
- 谁做过灾难备份项目 报价是多少 需要多少人
- 在jsp中有那五种实现共享数据,
- iBatis调用Oracle返回游标的存储过程
- Spring中几个不太清楚的问题,AOP中我理解前置、后置、环绕异常,其他的就不了解了,看不懂到底是什么谁能简单通俗的跟我说下吗?
- 关于执行完SQL语句后的对象处理问题
- 如何实现远程调试?
- 工作机会,春节后在北京发展的机会
- hibernate用户对象权限映射关系如何建立,求助,急急急!!!!!
- 90分,hibernate映射问题!顶都有分!解决马上结贴!!!急
- 烦,spring声明事务不成功~
<property name="target">
<ref bean="testBo" />
</property>你可以参考一下我的:
<property name="target">
<bean class="com.wehave.hyerp.procurement.service.CgsqdService">
<property name="cgsqdDao">
<ref bean="CgsqdDao"/>
</property>
</bean>
</property>
我刚按照你的方法试了,还是没有用。
原因是,你在controller中,调用testBo的时候,用的不是TransactionProxyFactoryBean包装过的,你要生效事务,要调用testBoProxy,他会给你一个经过事务包装过的testBo事例。
另外testBoProxy要设置成以下的方式:
<bean id="testBoProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="proxyTargetClass"><value>true</value></property>
<property name="target">
<ref bean="testBo" />
</property>
<property name="transactionAttributes">
<props>
<prop key="test*">PROPAGATION_REQUIRED</prop>
<prop key="qurey*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
原来的代码:
<bean name="/test" class="com.xy.action.TestAction">
<property name="testBo"><ref bean="testBo"/></property>
</bean>
现在的代码:
<bean name="/test" class="com.xy.action.TestAction">
<property name="testBo"><ref bean="testBoProxy"/></property>
</bean>
把testBo改成testBoProxy就可以了,多谢多谢!