Spring boot 带Spring引导的咖啡因缓存

Spring boot 带Spring引导的咖啡因缓存,spring-boot,java-8,caffeine,caffeine-cache,Spring Boot,Java 8,Caffeine,Caffeine Cache,我的DAO层采用了一种昂贵的方法,如下所示: @Component @CacheConfig(cacheNames = {"userStories"}) public class UserStoryDaoImpl implements IUserStoryDao { @Override @Cacheable public List<UserStory> getUserStoriesForProjectAndRelease(UserDto userDto, Set<Intege

我的DAO层采用了一种昂贵的方法,如下所示:

@Component
@CacheConfig(cacheNames = {"userStories"})
public class UserStoryDaoImpl implements IUserStoryDao {

@Override
@Cacheable
public List<UserStory> getUserStoriesForProjectAndRelease(UserDto userDto, Set<Integer> 
reportProjectId, int releaseId) {
    //Slow performing business logic that returns a list
    return new ArrayList(); 
}
@组件
@CacheConfig(cacheNames={“userStories”})
公共类UserStoryDaoImpl实现IUserStoryDao{
@凌驾
@可缓存
public List getUserStoriesForProjectAndRelease(UserDto UserDto,Set
reportProjectId,int releaseId){
//返回列表的执行缓慢的业务逻辑
返回新的ArrayList();
}
另一个是

@Component
@CacheConfig(cacheNames = {"features"})
public class FeatureDaoImpl implements IFeatureDao {

@Override
@Cacheable
public List<Features> geFeaturesForProjectAndRelease(UserDto userDto, Set<Integer> reportProjectId, 
int releaseId) {
    //Slow performing business logic that returns a list
    return new ArrayList();
 }
}
@组件
@CacheConfig(cacheNames={“features”})
公共类FeatureDaoImpl实现IFeatureDao{
@凌驾
@可缓存
public List geFeaturesForProjectAndRelease(UserDto到UserDto,Set reportProjectId,
int releaseId){
//返回列表的执行缓慢的业务逻辑
返回新的ArrayList();
}
}
我的缓存配置类为:

@Configuration
public class CaffeineCacheConfig {

 @Bean
 public CacheManager cacheManager() {
    CaffeineCacheManager cacheManager = new CaffeineCacheManager("features", "userStories");
    cacheManager.setCaffeine(caffeineCacheBuilder());
    return cacheManager;
 }

 Caffeine< Object, Object > caffeineCacheBuilder() {
    return Caffeine.newBuilder()
            .initialCapacity(100)
            .maximumSize(500)
            .expireAfterAccess(5, TimeUnit.MINUTES)
            .refreshAfterWrite(2, TimeUnit.MINUTES)
            .weakKeys()
            .recordStats();
 }
}
@配置
公共类CaffeineCacheConfig{
@豆子
公共缓存管理器缓存管理器(){
CaffeineCacheManager cacheManager=新的CaffeineCacheManager(“功能”、“用户故事”);
setCaffeine(caffeineCacheBuilder());
返回缓存管理器;
}
咖啡因caffeineCacheBuilder(){
return.newBuilder()
.初始容量(100)
.最大尺寸(500)
.expireAfterAccess(5,时间单位:分钟)
.refreshAfterWrite(2,时间单位:分钟)
.weakKeys()
.recordStats();
}
}
我使用的是spring boot::2.2.6.RELEASE,我的pom包括:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
    <groupId>com.github.ben-manes.caffeine</groupId>
    <artifactId>caffeine</artifactId>
    <version>2.8.2</version>
</dependency>

org.springframework.boot
及