java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > yml文件字符串,List,Map书写并使用@ConfigurationProperties注入配置类

关于yml文件字符串,List,Map的书写方式并使用@ConfigurationProperties注入配置类

作者:搏·梦

这篇文章主要介绍了关于yml文件字符串,List,Map的书写方式并使用@ConfigurationProperties注入配置类,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1. 常规例子

先准备好一个配置类,如下:

1. 使用@ConfigurationProperties 该类必须是个bean对象。

2. 该类必须有setting方法,否则无法注入值。

@Setter
@Getter
@Component
@ConfigurationProperties(prefix = "test")
public class TestConfig {
    // 字符串
    private String userName;
    // Integer
    private Integer sum;
    // boolean
    private boolean flag;

    private int size;
    // 对象
    private Person person;
    // List<对象>
    private List<Person> personList;
    // Map<String, 对象>
    private Map<String, Person> map;

    @Setter
    @Getter
    static class Person {

        private String name;

        private int age;
    }
}

yml文件写法如下:

test:
  user-name: test1
  sum: 20
  flag: false
  size: 100
  person:
    name: person1
    age: 18
  person-list:
    - name: person1
      age: 1
    - name: person2
      age: 2
    - name: person3
      age: 3
  map:
    key1:
      name: map1
      age: 1
    key2:
      name: map2
      age: 2

结果:

2. 非常规例子(不建议)

@ConfigurationProperties 不配prefix,默认是从yml文件根结构开始,如下例子:

@Setter
@Getter
@Component
@ConfigurationProperties()
public class TestConfig {

    // List<对象>
    private List<Person> personList;

    @Setter
    @Getter
    static class Person {

        private String name;

        private int age;
    }
}
person-list:
  - name: person1
    age: 1
  - name: person2
    age: 2
  - name: person3
    age: 3

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文