class Person{
String id;
String name;
}
interface A {
String getOnePerson(String id);
List<Person> getPersonList();
}
abstract class B implements A{
abstract List<Person> getPersonList();
String getOnePerson(String id){
List<Person> list = this.getList();
for (Person p : dishList) {
if (p.getId().equals(id)) {
return dish;
}
}
return null;
}
}
class C extends B{
@Cacheable(xxxxx)
List<Person> getPersonList(){
return Lists.newArrayList(p1,p2,p3)
}
}
class D extends B{
@Cacheable(yyyyy)
List<Person> getPersonList(){
return Lists.newArrayList(p4,p5,p6)
}
}
这种情况下调用 A.getOne 方法时,属于是内部调用是不会走缓存的。能否在不冗余代码的情况下使用缓存?