像 EJB 2.0+ 把异常划分成2种类型:
1、应用程序异常:表示应该程序应该自己处理这种异常,容器不关心它,在决定事务状态时也不考虑这种异常。
2、系统异常:表示这与系统有关系,容器会在捕获到这种异常时回滚当前事务。那么你现在理解的 Spring 中的事务管理对于这些异常有什么约定呢?
Spring 文档中有没有说,默认地对所有异常都回滚事务,还是说需要我们明确地指定哪些类型的异常自动回滚事务?我去年看了一下   Spring 某个版本的 html 上介绍说这个 xml 配置中关于异常处理好像没有默认值,需要明确地指出,不知道是不是这么回事。这点可以从 Spring 官方网站上的文档介绍中与这个 xml 格式相关的地方找到答案。

解决方案 »

  1.   

    把  xml 换成了 annotation 后背后的设计应该不会有大的改动。原理应该类似,可能就是需要额外的参数说明。
      

  2.   

    你将
    <aop  >
    ,<tx >这两个配置了吗? 不配置怎么提交事务、
      

  3.   

    我靠,我知道为啥了。大家看我的配置,我只是设定了事务管理,但是没有开启事务,还需要再加一行配置
    <!--启动spring注解功能-->
        <!-- 开启事务注解驱动 -->
        <tx:annotation-driven transaction-manager="transactionManager" />