/*
@CacheEvict:缓存清除
key:指定清除的数据
allEntries=true:指定清除这个缓存中所有的数据
beforeInvocation=flase:缓存的数据是否在方法之前执行
默认代表是在方法之后执行
*/
@CacheEvict(value = "emp" /*,key = "#id",allEntries=true*/)
public void deleteEmp(Integer id){
System.out.println("deleteEmp:"+id);
// employeeMapper.deleteEmpById(id);
int i= 10/0;//做个测试;方法之后清空缓存,出错不会执行方法了
}
这是一个自己添加的错误i,用来验证@CacheEvict清除缓存注解为方法前执行,还是方法后执行
使用了
@CacheEvict清除缓存注解默认是方法后执行的,所以加了个错的 int i= 10/0;测试出这个清除缓存的注解@CacheEvict默认就是在方法之后执行,出错就不执行了