不通过注解的形式,使用java spring 实现缓存的存取
时间: 2024-02-20 17:56:29 浏览: 109
Spring Boot设置并使用缓存的步骤
可以通过注入Spring框架提供的CacheManager来实现缓存的存取,具体步骤如下:
1. 配置CacheManager
在Spring配置文件中配置CacheManager,如下所示:
```xml
<bean id="cacheManager" class="org.springframework.cache.concurrent.ConcurrentMapCacheManager">
<property name="cacheNames">
<list>
<value>cacheName1</value>
<value>cacheName2</value>
</list>
</property>
</bean>
```
2. 注入CacheManager
在需要使用缓存的类中注入CacheManager,如下所示:
```java
@Component
public class CacheService {
@Autowired
private CacheManager cacheManager;
public void put(String cacheName, Object key, Object value) {
Cache cache = cacheManager.getCache(cacheName);
cache.put(key, value);
}
public Object get(String cacheName, Object key) {
Cache cache = cacheManager.getCache(cacheName);
Cache.ValueWrapper valueWrapper = cache.get(key);
return valueWrapper != null ? valueWrapper.get() : null;
}
}
```
3. 使用缓存
在需要使用缓存的方法中调用CacheService的put和get方法,如下所示:
```java
@Service
public class MyService {
@Autowired
private CacheService cacheService;
public void doSomething(String key) {
Object value = cacheService.get("cacheName", key);
if (value == null) {
value = calculateValue(key);
cacheService.put("cacheName", key, value);
}
// 使用value做一些操作
}
private Object calculateValue(String key) {
// 计算value的过程
}
}
```
这样就可以通过注入CacheManager来实现缓存的存取,而不需要使用注解的形式。
阅读全文