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

 更新时间:2023年12月15日 14:54:06   作者:搏·梦  
这篇文章主要介绍了关于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

总结

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

相关文章

  • Hadoop 中 HBase Shell命令的详解

    Hadoop 中 HBase Shell命令的详解

    这篇文章主要介绍了Hadoop 中 HBase Shell命令的详解的相关资料,需要的朋友可以参考下
    2017-10-10
  • Java Maven Settings配置参考教程

    Java Maven Settings配置参考教程

    这篇文章主要介绍了Java Maven Settings配置参考,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • java的Map集合中按value值进行排序输出的实例代码

    java的Map集合中按value值进行排序输出的实例代码

    下面小编就为大家带来一篇java的Map集合中按value值进行排序输出的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • struts2如何使用拦截器进行用户权限控制实例

    struts2如何使用拦截器进行用户权限控制实例

    本篇文章主要介绍了struts2如何使用拦截器进行用户权限控制实例,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • Java使用建造者模式实现办理手机套餐功能详解

    Java使用建造者模式实现办理手机套餐功能详解

    这篇文章主要介绍了Java使用建造者模式实现办理手机套餐功能,较为详细的描述了建造者模式的概念、原理并结合实例形式分析了Java使用建造者模式实现的办理手机套餐功能具体步骤与相关操作注意事项,需要的朋友可以参考下
    2018-05-05
  • Java日常练习题,每天进步一点点(42)

    Java日常练习题,每天进步一点点(42)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • springboot集成druid连接池配置的方法

    springboot集成druid连接池配置的方法

    这篇文章主要介绍了springboot集成druid连接池配置的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 面试题:java中为什么foreach中不允许对元素进行add和remove

    面试题:java中为什么foreach中不允许对元素进行add和remove

    读者遇到了一个比较经典的面试题,也就是标题上说的,为什么 foreach 中不允许对元素进行 add 和 remove,本文就详细的介绍一下,感兴趣的可以了解一下
    2021-10-10
  • java基础之反射和泛型以及注解

    java基础之反射和泛型以及注解

    这篇文章主要介绍了 java基础之反射和泛型以及注解的相关资料,需要的朋友可以参考下
    2017-07-07
  • 如何禁用IntelliJ IDEA的LightEdit模式(推荐)

    如何禁用IntelliJ IDEA的LightEdit模式(推荐)

    这篇文章主要介绍了如何禁用IntelliJ IDEA的LightEdit模式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04

最新评论