1、确认是否数据库引擎设置不对,比如常用的MySQL的MyISAM是不支持事务操作的
2、入口方法必须是public
3、Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚
4、启用注解事务管理@EnableTransactionManagement(新建的Spring Boot项目中,一般都会引用spring-boot-starter或者spring-boot-starter-web,这两个起步依赖中都已经包含了对于spring-boot-starter-jdbc或spring-boot-starter-data-jpa的依赖。 当我们使用了这两个依赖的时候,框架会默认分别注入DataSourceTransactionManager或JpaTransactionManager。 所以我们不需要任何额外配置就可以利用注解@Transactional进行声明式事务的使用。)
5、确保业务逻辑和事务入口在同一个线程里,否则事务也是不生效



