springboot @Transactional注解失效

发布时间:2023-06-13 15:00

我这个注解失效真的是改到难受

同一个类中方法调用,导致 @Transactional 失效

开发中避免不了会对同一个类里面的方法调用,比如有一个类Test,它的一个方法A,A再调用本类的方法B(不论方法B是用public还是private修饰),但方法A没有声明注解事务,而B方法有。则外部调用方法A之后,方法B的事务是不会起作用的。这也是经常犯错误的一个地方。

那为啥会出现这种情况?其实这还是由于使用 Spring AOP 代理造成的,因为 只有当事务方法被 当前类以外的代码 调用时,才会由Spring生成的代理对象来管理。

网上这么讲的 但是我直接是在service层调用的(还是报错)

可恶啊 网上找了一大堆 方法都没有用 难过 伤心 无力

报错的内容

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e9e7ff0] was not registered for synchronization because synchronization is not active
2022-03-29 08:16:07.026 [http-nio-20219-exec-4] INFO  com.zaxxer.hikari.HikariDataSource[110] - DateHikariCP - Starting...
2022-03-29 08:16:09.968 [http-nio-20219-exec-4] INFO  com.zaxxer.hikari.HikariDataSource[123] - DateHikariCP - Start completed.
JDBC Connection [HikariProxyConnection@2132436291 wrapping com.mysql.cj.jdbc.ConnectionImpl@a9b7dec] will not be managed by Spring

代码如图:

springboot @Transactional注解失效_第1张图片

 我想了想会不会在service层 不同步 那我去controller加注解 测试 

springboot @Transactional注解失效_第2张图片

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号