碰见一个有意思的事,@Transactional我们一般都是用在Service层中,昨天发现业务中支付的调用,重置的时候出了问题,然后会报错。发现就是需要在controller层那个方法需要回滚一下,所以搜了一下能不能在controller层的方法上加@Transactional注解,但是自己使用的时候是可以的所以自己看了一下;
我们点进去这个注解看一下:
在这里插入图片描述
事务控制的注解,TransactionManager就是事务管理器。
然后发现这个是springframework.transaction.annotation中的,我们去官网看一下解释;
在这里插入图片描述
意思就是我们在controller使用的话需要配置一下,因为springBoot项目会为我们自动配置,@SpringBootApplication在加载的时候会为我们自动开启事务这个功能所以我们不需要添加这个注解配置
在这里插入图片描述
autoconfigure这个包下面的,因为自动加入事务,所以我们没有配置指定的切入点进行事务管理,所以默认匹配的是所有的类。
所以在controller层使用@Transactional注解也是可以的!!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐