如何从 application.yml 获取设置映射?

How to get map of settings from application.yml?

这是我的 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

我需要对它们进行分组,这就是我添加另一部分设置的原因。这是我的配置 class:

@Configuration
@EnableConfigurationProperties(CacheProperties.class)
@Setter
public class CacheConfig {

    private Map<String, String> caches;
}

CacheProperties 已经有一个 "spring.cache" 前缀,所以我只添加了我的组名。 我的地图中仍然显示“null”。我的错误是什么?

@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}