0
回答
spring ehcache 缓存
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

使用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
发帖于3个月前 0回/48阅
顶部