我正在使用
spring和@Cacheable注释来缓存一些数据库条目.我想定期使完整缓存无效.
因此:将这些注释放在接口方法上是否有效?或者这些注释必须放在类方法上(即使它们有一个空的方法体)?
- public interface MyRepository extends CrudRepository<MyEntity,Long> {
- @Override
- @Cacheable("cache")
- Airline findOne(long id);
- @CacheEvict(value = "cache",allEntries = true)
- @Scheduled(cron = "0 0 1 * * *")
- void removeAll();
- }
如果我在接口方法上有@Cacheable,在服务中有@CacheEvict,则应用程序会成功启动.如果我使用上面的代码,它不起作用.但也许我也做错了?