.@Transactional(value= "设置事务传播行为")
时间: 2023-12-26 19:07:01 浏览: 39
这是一个在 Spring 框架中使用的注解,用于控制事务的传播行为。它可以加在类上或者方法上面。
当加在类上面时,表示该类中的所有方法都会按照指定的事务传播行为进行事务控制;当加在方法上时,仅对该方法进行事务控制。
value 属性用于设置事务的传播行为,其取值和含义与上面回答的问题一样,具体可以参考上面的回答。
通过设置不同的传播行为,可以控制事务的行为,从而保证数据的一致性和完整性。同时,加上该注解的方法会被 Spring 事务管理器拦截,如果该方法抛出异常,则事务管理器将会回滚事务。
相关问题
19.下面选项对"@Transactional"描述正确的是() ☆ 【不定项选择】 A.@Transactional(propagation = "设置事务传播行为") B.@Transactional(rollbackFor = "指定回滚类型的异常") C.@Transactional(noRollbackFor = "指定回滚类型的异常") D.@Transactional(value= "设置事务传播行为")
A、B、C、D 都是正确的。
A. @Transactional(propagation = "设置事务传播行为"):用来设置事务的传播行为,常用的传播行为有:REQUIRED(默认值)、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。
B. @Transactional(rollbackFor = "指定回滚类型的异常"):用来设置事务在遇到指定类型的异常时回滚,可以指定多个异常类型。
C. @Transactional(noRollbackFor = "指定不回滚类型的异常"):用来设置事务在遇到指定类型的异常时不回滚,可以指定多个异常类型。
D. @Transactional(value= "设置事务传播行为"):用来设置事务的传播行为,与 A 选项作用相同,只是写法不同。
@Transactional(value = "cif", propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
回答: 引用\[1\]是一段代码,它展示了一个方法transferService(),该方法返回一个TransferServicelmpl对象,并设置了其依赖的AccountRepository对象。\[1\] 引用\[2\]是关于Spring Boot和Spring Data JPA的陈述,其中正确的两项是:嵌入式数据库在启动期间不会重新创建,@EntityScan和spring.jpa*属性可用于自定义Spring Data JPA。\[2\] 引用\[3\]是一个关于@Autowired注解的问题,其中有效的三个方案是:@Autowired private Foo foo1; @Autowired @Qualifier("foo2") private Foo foo2; @Autowired @Qualifier("foo3") private Foo foo3;\[3\] 最后,问题中的代码片段是一个使用@Transactional注解的示例,其中指定了事务的一些属性,如事务名称、传播行为和回滚条件。
#### 引用[.reference_title]
- *1* *2* *3* [spring证书的题目](https://blog.csdn.net/weixin_59762713/article/details/127972074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文