Springboot cacheable实例
时间: 2024-01-14 17:02:37 浏览: 75
好的,下面是一个简单的使用@Cacheable注解的Spring Boot示例:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
@Cacheable(value = "userCache", key = "#id")
public User getUserById(@PathVariable int id){
return userService.getUserById(id);
}
}
```
在上面的示例中,我们使用了@Cacheable注解来标记getUserById()方法。其中value属性指定了缓存的名称为"userCache",key属性指定了缓存的键为方法的参数id。当getUserById()方法被调用时,Spring框架会先检查"userCache"缓存中是否有以参数id作为键的缓存数据,如果有则直接返回缓存数据,如果没有则调用userService中的方法查询数据,然后将查询结果放入"userCache"缓存中。
需要注意的是,为了使用@Cacheable注解,我们需要在配置文件中配置缓存管理器,例如使用Ehcache缓存管理器可以在application.properties文件中添加以下配置:
```properties
spring.cache.type=ehcache
```
这样就可以使用@Cacheable注解来实现缓存数据的功能了。
阅读全文