@Cacheable修饰的方法
时间: 2023-10-24 12:29:57 浏览: 137
详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
@Cacheable修饰的方法是一个Spring框架中的注解,用于实现方法级别的缓存。当一个方法被@Cacheable修饰时,Spring会在每次调用该方法之前,先检查缓存中是否已经存在相应的结果。如果存在,则直接返回缓存中的结果,而不执行方法体内的逻辑;如果不存在,则执行方法体内的逻辑,并将结果存入缓存中供下次使用。
@Cacheable注解可以标注在方法上,也可以标注在类上。当标注在类上时,表示该类下所有的方法都具有缓存功能,使用相同的缓存配置。
@Cacheable注解有一些常用的属性,比如value、key、condition等。其中,value属性指定了缓存的名称或者缓存管理器的名称;key属性用于指定缓存的key值,可以使用SpEL表达式;condition属性用于指定缓存条件,只有满足条件的情况下才会进行缓存。
下面是一个示例:
```java
@Cacheable(value = "myCache", key = "#param")
public String getResult(String param) {
// 方法体逻辑
}
```
在上述示例中,@Cacheable注解标注的getResult方法将会根据参数param的值进行缓存。如果缓存中已经存在了以param值为key的结果,那么下次调用该方法时,将直接返回缓存中的结果。否则,会执行方法体内的逻辑,并将结果存入缓存供后续使用。
需要注意的是,使用@Cacheable注解时需要配置相应的缓存管理器,并保证缓存管理器在Spring容器中可用。
阅读全文