@Transactional事务回滚不生效,注解的继承

关于注解的继承

刚在群里有个人问怎么事务回滚不生效,然后截图一看,@Transactional打在接口上。这毫无疑问就是错误的根源,让他把@Transactional写在实现方法上就解决了。

众所周知,注解一般不能被继承。但是准确的说, 子类其实是可以继承父类的type注解的,如果需要继承父类的方法上的注解,就需要加一个@Inherited元注解。
关于元注解大家可通过 https://blog.csdn.net/javazejian/article/details/71860633 了解
但是,大家如果看到@Transactional的源码的话,就会发现它自带了@Inherited注解:
在这里插入图片描述

那么为什么群里的同学还是出错呢?请仔细看我上面说的:子类其实是可以继承父类的type注解的,如果需要继承父类的方法上的注解,就需要加一个@Inherited元注解。

其中有一个特性:写在父类的类上的注解可以被继承,父类的方法上的注解无法被继承!
所以一般来说,我们应当在实现方法上打注解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值