微笑精灵 2022-04-26 09:55 采纳率: 91.5%
浏览 273
已结题

Springboot子类重写父类方法,父类上的接口还会生效么?

举个例子,比如@Cacheable注解
超类的select接口@Cacheable(key=pk)
这个时候,子类继承并重写这个接口。
那么如果子类不加@Cacheable注解。外部调用这个方法也会有缓存么?
如果子类加了@Cacheable(key=pk,unless=null)
那么这个时候调用这个方法。缓存是以父类为准还是子类为准呢?
如果返回值是null,会不会被缓存?

  • 写回答

3条回答 默认 最新

  • 宁-静-致-远 2022-04-26 10:52
    关注

    子类重写、实现父类的方法时,其父类对应的注解是不会继承下来的。
    所以你这种情况:
    1)子类重写方法后不加 @Cacheable 注解,外部调用这个方法是不会有缓存的。
    2)如果子类增加了@Cacheable,调用子类的方法时还是以子类使用的注解为准的。
    可参考:https://blog.csdn.net/moakun/article/details/80570760

    如有帮助,请采纳!!!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月26日