java – Spring XML tx:相当于@TransactionConfiguration的建议
发布时间:2020-12-15 02:31:21 所属栏目:Java 来源:网络整理
导读:我在 Spring 3.0.5中使用基于XML的事务配置.移动到基于注释不是一种选择.基于XML的配置中@TransactionConfiguration(rollback = true)的等价物是什么? 目前,我没有在我的JUnit中强制执行回滚,因此我的数据库始终充满了必须删除/清除的随机测试数据.另外,我
我在
Spring 3.0.5中使用基于XML的事务配置.移动到基于注释不是一种选择.基于XML的配置中@TransactionConfiguration(rollback = true)的等价物是什么?
目前,我没有在我的JUnit中强制执行回滚,因此我的数据库始终充满了必须删除/清除的随机测试数据.另外,我最终在不同的测试运行之间发生PK冲突. 我的applicatonContext内容如下: ... <!-- Wrap all DAO Implementations in a transaction --> <aop:config proxy-target-class="false"> <aop:pointcut id="daoOperation" expression="execution(* com.calculator.dao.impl.*Impl.* (..))" /> <aop:advisor pointcut-ref="daoOperation" advice-ref="txAdvice" /> </aop:config> <tx:advice id="txAdvice"> <tx:attributes> <tx:method name="*" read-only="true" propagation="REQUIRED"/> <tx:method name="execute*" propagation="REQUIRED"/> <tx:method name="query*" propagation="REQUIRED"/> <tx:method name="insert" propagation="REQUIRED"/> <tx:method name="delete" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <bean class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="${datasource.url}" /> <property name="username" value="${datasource.user}" /> <property name="password" value="${datasource.password}" /> <property name="defaultAutoCommit" value="false" /> </bean> ... 如何指定我希望所有JUnit默认回滚? 谢谢, 埃里克 解决方法
将此配置放在JUnit测试类上.
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "/pathTo/spring/context/applicationContext.xml") @TransactionConfiguration(transactionManager = "transactionManager",defaultRollback = true) @Transactional public class LocationDaoTest extends AbstractTransactionalJUnit4SpringContextTests{ @Test public void testDAOsCRUD(){} } 我希望我已经给了你关于你问题的所有答案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |