spring boot 代码、注解配置获取yml、properties文件中的map即键值对

一、yml获取自定义键值对

yml中的键值对

test:
  map:
    key1: value1
    key2: value2
    key3: value3
pom中的依赖配置
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

代码:

@Component
@ConfigurationProperties(prefix = "test")
public class MyConfiguration {

    private String name;

    private Map map = new HashMap();

    public Map getMap() {
        return map;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

然后在调用层,如controller注入即可测试:

@Autowired
MyConfiguration myConfiguration;

注意:该实例中的yml文件默认是:application.yml文件。也就是说,键值对要写在application.yml文件中;

二、properties 获取自定义键值对

config.properties 中的键值对:

test.map.key1=value1
test.map.key2=value2
test.map.key3=value3

pom中无依赖配置

代码:

@Component
@Configuration
@PropertySource(value = {"classpath:/config.properties"}, encoding = "utf-8")
@ConfigurationProperties(prefix = "test")
public class MyConfiguration {

    private String name;

    private Map map = new HashMap();

    public Map getMap() {
        return map;
    }

    public void setMap(Map map) {
        this.map = map;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

然后在调用层,如controller注入即可测试:

@Autowired
MyConfiguration myConfiguration;

以上实例只是针对于map(键值对)的获取,相对于读取文件,解析文件流来说,方便了许多。希望可以用到时帮到看见的你,如有更好策略,可以留言,谢谢!

猜你喜欢

转载自blog.csdn.net/yang1076180972/article/details/85678531