0
回答
spring ehcache 缓存
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

使用ehcache时,在BaseServiceImpl类上@CacheConfig(cacheNames = "base"),然后在继承这个类的CityServiceImpl加上@CacheConfig(cacheNames = "city"),在BaseServiceImpl中的getById方法上使用@Cacheable(key = "#id"),那么getById这个方法缓存是放在base还是city缓存名称中的?如果缓存放在了“base”中,那么有什么办法能把缓存放到city中,除了重写getById这种方法可行外,还有其他方法不?就是想将@Cacheable放到基类方法中,至于为什么相信大家应该明白。

部分代码如下:

BaseServiceImpl.java

@CacheConfig(cacheNames = "base")
    public abstract class BaseServiceImpl<M extends MyMapper<T>, T extends BaseEntity> implements IBaseService<T> {
        @Autowired
        protected M mapper;

        @Cacheable(key = "#id")
        public T getById(Object id) throws Exception {
            return mapper.selectByPrimaryKey(id);
        }

CityServiceImpl.java

@Service
@CacheConfig(cacheNames = "city")
public class CityServiceImpl extends BaseServiceImpl<CityMapper, City> implements ICityService {

    public Result<City> getRecordPage() throws Exception {
        Page page = new Page(1, 15);
        return super.getRecordPage("getRecordPage", page, new HashMap());
    }

    @Override
    public void savAll(List<City> list) throws Exception {

    }
}

然后在controller中调用

<无标签>
举报
Li杰r
发帖于8个月前 0回/53阅
顶部