1

这是我的 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"前缀,所以我只添加了我的组的名称。我的地图中仍然出现“null”。我的错误是什么?

4

1 回答 1

1

使用@ConfigurationPropertiesprefix它对我有用

@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, expireAfterAccess=0s, config_plan=maximumSize=100, expireAfterAccess=0s}
于 2021-04-11T15:47:09.523 回答