springboot的 @Transactional
时间: 2023-10-28 09:52:31 浏览: 88
springboot中事务管理@Transactional的注意事项与使用场景
5星 · 资源好评率100%
`@Transactional` 是 Spring 框架中的一个注解,用于控制事务的行为。它可以应用在类上或方法上,用来指定哪些方法需要进行事务管理。当一个方法被标记为 `@Transactional` 后,Spring 会在执行该方法前开启一个事务,在方法执行完毕后根据方法执行的结果决定是提交事务还是回滚事务。
在 Spring Boot 中,如果要使用 `@Transactional` 注解,需要在应用主类上添加 `@EnableTransactionManagement` 注解,以启用 Spring 的事务管理功能。同时,在需要进行事务管理的方法上加上 `@Transactional` 注解即可。
需要注意的是,`@Transactional` 注解默认只处理 unchecked 异常(继承自 RuntimeException 的异常)并将其视为回滚触发器。如果需要处理 checked 异常(继承自 Exception 的异常),需要在 `@Transactional` 注解上添加 `rollbackFor` 属性并指定需要回滚的异常类型。
另外,建议在使用 `@Transactional` 注解时,尽量将其应用在 Service 层而非 Controller 层,以便将事务的控制与业务逻辑分离,提高系统的可维护性和可扩展性。
阅读全文