Spring Boot中@Transactional 注解

Previously:

调用接口先打在Controller上相应方法,然后Controller中调Service再有Service的实现层Impl去实现相应业务,所以ServiceImpl会实现Service的接口一般有注解@Override但是突然发现某个方法下除了@Override居然还有个 @Transactional那这个是个什么东西呢?
Spring Boot中@Transactional 注解_第1张图片

Spring事务管理分为:编程式和声明式的两种方式
一、编程式事务:指的是通过编码方式实现事务
二、声明式事务:基于 AOP,将业务逻辑与事务处理解耦建议使用

声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多

声明式事务有两种方式
一、在配置文件(xml)中做相关的事务规则声明,注意:通用情况就写到配置文件里,可重用
二、基于 @Transactional注解的方式,注意:私有就写成注解形式

其他:
1、默认配置下 Spring 只会回滚运行时、未检查异常(继承 RuntimeException 异常)或者 Error
2、@Transactional注解只能用到 public 方法才有效。

你可能感兴趣的:(Springboot,spring,spring,boot)