Springboot配置文件yml各种复杂对象配置方法

Springboot配置文件yml各种复杂对象配置方法环境 Spring boot 2 3 9 RELEASE 相关依赖 dependencies dependency groupId org springframew groupId dependency dependencies

大家好,欢迎来到IT知识分享网。

环境:Spring boot 2.3.9.RELEASE


相关依赖

 
    
     
     
       org.springframework.boot 
      
     
       spring-boot-starter-web 
      
     
     
     
       org.springframework.boot 
      
     
       spring-boot-configuration-processor 
      
     
       true 
      
     
   

spring-boot-configuration-processor这个依赖是为了你自定义的配置属性在yml文件中能够提示。

简单属性配置

@Component @ConfigurationProperties(prefix = "pack") public class ConfigProperties { private String name ; private Integer count ; private Boolean enable ; }
pack: count: 1 enable: true name: 测试

List、Map集合类

  • List集合

方式1:

private List 
   
     categorys = new ArrayList<>() ; pack: categorys: - 足球 - 篮球 
   

方式2:

pack: categorys: 足球, 篮球

方式3:

pack: categorys: [足球, 篮球]
  • Map集合

方式1:

private Map 
   
     params = new HashMap<>() ; pack: params: p1: v1 p2: v2 p3: v3 
   

方式2:

pack: params: {p1: v1, p2: v2, p3: v3}

嵌套对象

public class Person { private String name ; private Integer age ; } private Person person ;
pack: person: age: 10 name: 张三

List,Map集合对象类型数据

List集合

方式1:

private List 
   
     persons = new ArrayList<>() ; pack: persons: - age: 20 name: 田七 - age: 30 name: 王五 
   

方式2:

pack: persons: - {name: 田七, age: 20} - {name: 王五, age: 30}

Map集合

方式1:

private Map 
   
     mappings = new HashMap<>() ; pack: mappings: m1: age: 40 name: 甜甜 m2: age: 50 name: 莉莉 
   

方式2:

pack: mappings: m1: {name: 田七, age: 20} m2: {name: 王五, age: 30}

方式3:

pack: mappings: {m1: {name: 田七, age: 20}, m2: {name: 王五, age: 30}}

完整示例

@Component @ConfigurationProperties(prefix = "pack") public class ConfigProperties { private String name ; private Integer count ; private Boolean enable ; private List 
   
     categorys = new ArrayList<>() ; private List 
    
      persons = new ArrayList<>() ; private Map 
     
       params = new HashMap<>() ; private Map 
      
        mappings = new HashMap<>() ; private Person person ; } 
       
      
     
   
pack: count: 1 enable: true name: 测试 categorys: [足球, 篮球] params: {p1: v1, p2: v2, p3: v3} person: age: 10 name: 张三 persons: - {name: 田七, age: 20} - {name: 王五, age: 30} mappings: {m1: {name: 田七, age: 20}, m2: {name: 王五, age: 30}}

执行结果

Springboot配置文件yml各种复杂对象配置方法

完毕!!!

给个关注+转发呗谢谢

Springboot配置文件yml各种复杂对象配置方法

Springboot配置文件yml各种复杂对象配置方法

Springboot配置文件yml各种复杂对象配置方法

Springboot配置文件yml各种复杂对象配置方法

SpringBoot多数据源配置详解

Springboot整合openfeign使用详解

SpringBoot邮件发送示例

SpringBoot配置文件你了解多少?

springboot mybatis jpa 实现读写分离

SpringBoot RabbitMQ消息可靠发送与接收

SpringBoot开发自己的Starter

Springboot之Actuator详解

SpringBoot整合RocketMQ入门示例

Springboot接口幂等性基于token实现方案

Springboot项目使用docker部署

SpringBoot2 整合OAuth2实现统一认证

SpringBoot2 整合 OAuth2 资源认证(保护)

SpringBoot开发自己的@Enable功能

SpringBoot整合Quartz实现任务调度

SpringBoot中使用Cache及JSR107的使用

SpringBoot接口防范CSRF攻击

Springboot中接口参数校验N种方法你会几个?

SpringBoot一个提升N倍性能的操作

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/90112.html

(0)
上一篇 2026-04-01 13:33
下一篇 2026-04-01 20:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信