【问题标题】:Where to put @Cacheable annotation在哪里放置@Cacheable注解
【发布时间】:2020-10-08 00:26:58
【问题描述】:

在哪里放置@Cacheable 注释的最佳做法是什么。应该在接口(Myservice)中还是在实现(MyserviceImpl)类中。

  public class MyClass
  {
  
    public final Map<String, String> getDepartmentsList(String userid) {
        System.out.println("I am getting the dept" );
        Map<String, String> deptMap = myService.getList(userid);
        return deptMap;
    }
 }



  @Service 
    public class MyserviceImpl implements Myservice  
    {
    ****@Cacheable(cacheName = "myList", keyGeneratorName = "cacheKeyGenerator" )****
        public Map<String, String> getList(String userid){
        }
    }
  

public interface Myservice  {

     **@Cacheable(cacheName = "myList", keyGeneratorName = "cacheKeyGenerator" )**
     public Map<String, String> getList(String userid);
    }

【问题讨论】:

    标签: java spring caching


    【解决方案1】:

    没有灵丹妙药。这取决于你的目的。 如果您在声明的接口上声明它:所有实现都有一个缓存方法。但可能在大多数情况下,您可以在特定实现中对 API/SPI 用户隐藏这些详细信息。

    【讨论】:

    • 非常感谢您对此发表评论。这有帮助!!!
    猜你喜欢
    • 2021-04-09
    • 2015-01-07
    • 2013-11-15
    • 1970-01-01
    • 2020-01-11
    • 2011-03-22
    • 1970-01-01
    • 2011-06-29
    • 2018-03-27
    相关资源
    最近更新 更多