关于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

总结

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

相关文章

  • 高并发计数器LongAdder 实现原理与使用场景详解

    高并发计数器LongAdder 实现原理与使用场景详解

    这篇文章主要介绍了高并发计数器LongAdder 实现原理与使用场景详解,通过理解 LongAdder 的设计哲学和实现细节,开发者可以在高并发场景中做出更优的技术选型,在保证线程安全的前提下实现 5-10 倍的性能提升,需要的朋友可以参考下
    2025-06-06
  • Javaweb监听器实例之统计在线人数

    Javaweb监听器实例之统计在线人数

    这篇文章主要为大家详细介绍了Javaweb监听器实例之统计在线人数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • java高并发InterruptedException异常引发思考

    java高并发InterruptedException异常引发思考

    这篇文章主要为大家介绍了java高并发InterruptedException异常引发思考,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java excel数据导入mysql的实现示例详解

    Java excel数据导入mysql的实现示例详解

    今天教大家如何使用Java将excel数据导入MySQL,文中有非常详细的代码示例,对正在学习java的小伙伴呢很有帮助,需要的朋友可以参考下
    2022-08-08
  • springboot连接Redis的教程详解

    springboot连接Redis的教程详解

    这篇文章主要介绍了springboot连接Redis的教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 解析iReport自定义行数分页的操作方法

    解析iReport自定义行数分页的操作方法

    ireport默认都是自动分页数据超出页面长度就会自动分到下一页,但有时候业务需要一页只显示固定几行这时候就需要自定义条数了。下面看具体操作吧
    2021-10-10
  • java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决

    java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决

    这篇文章主要介绍了java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 深入理解Java设计模式之备忘录模式

    深入理解Java设计模式之备忘录模式

    这篇文章主要介绍了JAVA设计模式之备忘录模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解
    2021-11-11
  • 使用lombok@Data存在extends时需要注意的问题

    使用lombok@Data存在extends时需要注意的问题

    在Java编程中,正确实现equals方法是保证对象比较一致性的关键,使用instanceof检查类型可能导致违反对称性原则,即当子类和父类都重写equals时可能出现a.equals(b)不等于b.equals(a)的情况,Lombok的@EqualsAndHashCode注解可以通过callSuper=true参数
    2024-10-10
  • 详解Spring Aop实例之AspectJ注解配置

    详解Spring Aop实例之AspectJ注解配置

    本篇文章主要介绍了详解Spring Aop实例之AspectJ注解配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论