Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring事务管理。和代理目标类_Java_Spring - Fatal编程技术网

Java spring事务管理。和代理目标类

Java spring事务管理。和代理目标类,java,spring,Java,Spring,下面是我的AOP xml声明 <tx:annotation-driven proxy-target-class="true" order="100" /> 我没有在我的服务层使用@Transactional注释。不过,该事务工作正常,因为我的服务层有一个拦截器 如果是代理目标class=“true”,我们不需要@Transactional注释吗 我使用的是Spring-iBatis如果没有活动事务,您将无法访问DB。如果您使用的是Spring的hibernate模板或JDBC模

下面是我的AOP xml声明

<tx:annotation-driven proxy-target-class="true" order="100" />

我没有在我的服务层使用
@Transactional
注释。不过,该事务工作正常,因为我的服务层有一个拦截器

如果是
代理目标class=“true”
,我们不需要
@Transactional
注释吗


我使用的是Spring-iBatis

如果没有活动事务,您将无法访问DB。如果您使用的是Spring的hibernate模板或JDBC模板,这些模板将为您打开事务。HibernateTemplate通过HibernateTransactionManager实现这一点

阅读以了解有关此操作的更多信息或跟踪代码。您会发现事务模板起作用


您将使用@Transactional来定义事务边界、事务传播模式和隔离级别(如果有的话)。

之所以事务工作正常,是因为事务拦截器内置在Spring AOP代理中,在未检查的异常情况下自动触发回滚。

您如何知道事务正常工作?在没有事务的情况下,持久性提供程序通常只会在自动提交模式下运行,因此事情仍然“正常”。我知道它们工作得很好,因为在部分插入后回滚开始(即,如果在一个插入stmt之后,另一个插入stmt失败)