在springboot中怎么在yml里配置Map<String, Object >类型数据?
作者:mmseoamin日期:2024-04-27

在Spring Boot的`application.yml`或`application.properties`配置文件中配置`Map`类型的数据可以使用 YAML 格式。以下是如何配置的示例

my:
  map:
    key1: value1
    key2: 123
    key3:
      nestedKey1: nestedValue1
      nestedKey2: true

在这个示例中,我们定义了一个名为`my.map`的`Map`,它包含了不同类型的值,包括字符串、整数和嵌套的`Map`。

然后,你可以在Spring Boot 应用程序中使用 `@ConfigurationProperties` 注解将这些配置映射到一个Java对象,如下所示:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@ConfigurationProperties("my")
public class MyProperties {
    private Map map;
    public Map getMap() {
        return map;
    }
    public void setMap(Map map) {
        this.map = map;
    }
}

通过这种方式,你可以将 `my.map` 中的键值对映射到 `MyProperties` 类中的 `map` 属性,使其可在应用程序中使用。

请确保配置文件中的键名与 `MyProperties` 类中的字段名匹配,并适当处理不同数据类型的值。根据需要,你可以在应用程序中使用 `MyProperties` 来访问和操作这些配置数据。