@Cacheable(
时间: 2024-01-09 07:23:21 浏览: 90
@Cacheable是Spring框架中的一个缓存注解,用于标记方法的返回值应该被缓存起来。当使用@Cacheable注解标记一个方法时,Spring会在方法执行前先检查缓存中是否已经存在该方法的返回值,如果存在,则直接返回缓存中的值,而不执行方法体;如果缓存中不存在该值,则执行方法体,并将返回值存入缓存中。
下面是一个使用@Cacheable注解的示例:
```java
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Cacheable("users")
public User getUserById(Long id) {
// 从数据库中获取用户信息
User user = userRepository.findById(id);
return user;
}
}
```
在上面的示例中,@Cacheable("users")表示将方法的返回值缓存起来,并使用名为"users"的缓存区域。当调用getUserById方法时,Spring会先检查缓存中是否存在id对应的用户信息,如果存在,则直接返回缓存中的值;如果不存在,则执行方法体,将返回值存入缓存中。
需要注意的是,@Cacheable注解还可以指定缓存的条件,例如根据方法的参数来决定是否缓存。具体的使用方式可以参考Spring官方文档或者引用中的内容。
阅读全文