问题描述
这是我的 application.yml 配置:
spring:
cache:
cache-names: all_config_bundle,all_config_dependence,config_plan
caffeine.spec: maximumSize=100,expireAfteraccess=0s
caches:
all_config_bundle: maximumSize=100,expireAfteraccess=0s
all_config_dependence: maximumSize=100,expireAfteraccess=0s
config_plan: maximumSize=100,expireAfteraccess=0s
我需要将它们分组,这就是我添加另一部分设置的原因。这是我的配置类:
@Configuration
@EnableConfigurationProperties(CacheProperties.class)
@Setter
public class CacheConfig {
private Map<String,String> caches;
}
CacheProperties
已经有一个 "spring.cache"
前缀,所以我只添加了我的组的名称。
我的地图中仍然显示“空”。我的错误是什么?
解决方法
使用 @ConfigurationProperties 和 prefix
对我有用
@ConfigurationProperties(prefix = "spring.cache")
@Data
@Configuration
public class CacheConfig {
private Map<String,String> caches;
}
输出:
{all_config_bundle=maximumSize=100,expireAfterAccess=0s,all_config_dependence=maximumSize=100,config_plan=maximumSize=100,expireAfterAccess=0s}