@Transactional指定事物类型
时间: 2023-11-16 14:59:55 浏览: 36
@Transactional是Spring框架中用来管理事务的注解,它可以用来指定事务的类型。在使用@Transactional注解时,可以通过设置propagation属性来指定事务的传播行为,通过设置isolation属性来指定事务的隔离级别,通过设置readOnly属性来指定事务是否只读,通过设置timeout属性来指定事务的超时时间。例如,@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, readOnly = false, timeout = 30)就表示开启一个REQUIRED类型的事务,使用默认的隔离级别,不是只读事务,超时时间为30秒。
相关问题
@Transactional 指定 transactionManager
的方式有哪些?
A:在 Spring 中,@Transactional 注解可以用来标记一个方法需要进行事务处理。当使用多个数据源时,需要指定要使用的事务管理器。@Transactional 注解可以通过指定 transactionManager 属性来指定要使用的事务管理器。有以下三种方式可以指定 transactionManager 属性:
1. 通过属性名指定事务管理器:@Transactional(transactionManager = "transactionManager1")
2. 通过 bean 名称指定事务管理器:@Transactional( value = "transactionManager1")
3. 通过类型指定事务管理器:@Transactional(transactionManager = "transactionManager1", type = TransactionDefinition.ISOLATION_READ_UNCOMMITTED)
其中,第一种方式是最常用的方式,直接通过事务管理器的名称进行指定;第二种方式也很常用,通过事务管理器对应的 bean 的名称来指定;第三种方式则是通过事务的隔离级别来指定事务管理器。在使用 @Transactional 注解时,如果没有指定 transactionManager 属性,Spring 会默认使用名为 “transactionManager” 的事务管理器。
@Transactional 事物不生效
当使用注解@Transactional时,有几种情况下事务可能不会生效。首先,如果在私有方法上添加@Transactional注解,事务也不会生效。例如,在私有方法上添加@Transactional(rollbackFor=Exception.class)注解时,事务将不会生效。其次,@Transactional注解应该只被应用到公共可见度的方法上。如果在受保护的、私有的或者包可见度的方法上使用@Transactional注解,它不会产生错误,但被注解的方法将不会展示已配置的事务设置。这些是导致@Transactional事务不生效的常见原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)