nancyjustin 2016-09-22 14:39 采纳率: 0%
浏览 1219

关于在spring对事务的异常处理

我在对spring事务做练习的时候,spring在事务执行过程中,如果发生异常,
已经成功执行的数据要进行回滚,有一个问题就是我在applicationContext.xm
l中已经配置了相关代码,但是结果在测试的时候,发现结果还是没有回滚,插入
了数据表中。。求解答

```




<!-- 初始化连接池大小 -->





<!-- 配置JdbcTempalte -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 
    <constructor-arg index="0" ref="dataSource"></constructor-arg>
</bean>

<!-- 配置UserDao -->
<bean id="userDao" class="cn.yangxu.xml_anno.UserDao">
    <property name="temlate" ref="jdbcTemplate"></property>
</bean>
<bean id="userService" class="cn.yangxu.xml_anno.UserService">
    <property name="userDao" ref="userDao"></property>
</bean>
<!-- #############5. Spring声明式事务管理配置############### -->
<!-- 5.1 配置事务管理器类 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"></property>
</bean>


<!-- 5.2 配置事务增强(如果管理事务?) -->
<tx:advice id="txAdvice" transaction-manager="txManager">
    <tx:attributes>
        <tx:method name="get*" read-only="true"/>
        <tx:method name="find*" read-only="true"/>
        <tx:method name="*" read-only="false"/>
    </tx:attributes>
</tx:advice>

<!-- 5.3 Aop配置: 拦截哪些方法(切入点表表达式) + 应用上面的事务增强配置 -->
<aop:config>
    <aop:pointcut expression="execution(* cn.yangxu.xml_anno.UserDao.*())" id="pt"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="pt"/>
</aop:config>
下面是拦截的类-->UserDao.save(User user)


public void save(User user) {
String sql = "insert into tuser (name) values(?)";
System.out.println("UserDao.save()");
Object [] args = {user.getName()};
template.update(sql, args);
int i = 1/0;//发生异常,执行成功需要回滚
}





  • 写回答

2条回答 默认 最新

  • nancyjustin 2016-09-22 14:59
    关注

    不知道怎么就有突然好了,我在这里也并没有捕获处理这个异常。
    这是一个朋友碰到这个问题时候他的建议。
    http://blog.csdn.net/yipanbo/article/details/46048413

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题