论坛首页 入门技术论坛

<高效程序员的45个习惯>精简版读后感 -- 报告所有的异常

浏览 4702 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-26  
引用
另外,spring中如果在事务中抛出了checkedException,spring的事务管理默认是不进行回滚的,必须进行声明,所以如果使用spring还是使用uncheckedException.
这句话看得真累。“必须进行声明”??


Spring声明式事务采用AOP,默认动态代理的方法抛出Unchecked Exception或者Error才进行回滚, 如果方法中抛出异常中的为检查异常,默认将不再回滚,当然也可以进行配置回滚的CheckedException (详见spring 参考手册 回滚) 

例如:

<tx:advice id="txAdvice" transaction-manager="txManager">

  <tx:attributes>

         <tx:method name="get*" read-only="false" />

         <tx:method name="*" rollback-for="你自己定义的checkedException"/>

  </tx:attributes>

</tx:advice>

0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics