加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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(){}
}

我希望我已经给了你关于你问题的所有答案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读