SpringBoot:Yaml配置文件

本文介绍了SpringBoot的Yaml配置文件,包括Yaml的基本语法、值的写法,如字面量、对象、数组,以及如何在实体类中引用配置文件的值。还讨论了Yaml与properties配置文件的区别,以及SpringBoot如何自动加载配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot的全局配置文件有application.properties&application.yaml两种配置文件,它们的配置文件名是固定的。

配置文件的作用:修改SpringBoot的自动配置默认值,SpringBoot在底层为我们提供这项功能的支持。

Yaml是YAML Ain't a Markup Language的递归缩写。

以往的配置文件大多数使用xxxx.xml,而现在出现的xxx.yaml配置文件以数据为中心,更加适合作为配置文件来使用。

两种文件的配置语法有所区别:

server:
  port: 8081
server.port=8081

上为yaml,下为properties文件。


Yaml语法:

1.基本语法:

k:(空格)v:表示一对键值对(空格必须有);

以空格的缩进来控制层级关系;只要是左对齐的一列数据都属于同一层级的。如上图可以看出,server是一个层级的,以下缩进的是它的相关属性的配置。同时注意属性和值都是大小写敏感。

2.值的写法:

字面量: 普通值(数字,字符串,布尔):k: v;同时字符串默认不用加上单引号和双引号,

        双引号:不会转义字符串当中的特殊字符,特殊字符会作为它的特殊表达含义输出。如   name: "zhangsan \n list":                       输   出:zhangsan 换行 list 

        单引号:转义特殊字符,直接做字符串输出。如   name: "zhangsan \n list":                       

        输   出:zhangsan \n list                                     

对象、map(属性和 值)(键值对):

        k: v,仍然是键值对的方式,例:

                friends:

                        lastName:zhangsan

        或:

                friends:{lastName:zhangsan,age:18}

数组(List,Set)

        用-(空格)值的方式来表示一个元素

                pets:

                         -cat

                         -dog

        或:

                  pets:{cat,dog}


最后要注意的是使用Yaml配置文件配置类属性的步骤:

1.在yaml文件中对应写好属性的配置值,并指定key。

2.在类上写上@ConfigurationProperties(prefix = "key"),就会自动把本类下的属性在配置文件中的指定key下的属性进行一一对应。

3.要引入配置文件处理器,否则就会有报错提示,引入后也会有相应提示:

未引入处理器

 

引入处理器

下面是yaml和properties配置的区别:

#server:
#          port: 8081
#
#person:
#  name: liqiaoyu
#  age: 22
#  boss: false
#  birthday: 2018/12/12
#  map: {home: Neijiang,university: Nju}
#  list:
#    - luojinting
#    - liyuchen
#  pet:
#    name: dog
#    age: 2
##    也可以用行内写法
server.port=8081
person.name=liqiaoyu
person.age=22
person.birthday=1997/07/08
person.boss=false
person.map.home=Neijiang
person.map.university=Nju
#注意链表容器配置值的不同
person.list=liyuchen,luojinting
person.pet.name = dog
person.pet.age=2


关于主配置文件加载的理解,只要是application名的合法配置文件,SpringBoot项目会自动帮我们在它指定的配置目录下扫描并加载,不用我们在主运行类中配置,因为它的标签已经完成了ioc和配置文件的加载任务。

实体类需要引用配置文件的值,默认是主配置文件,也可以引用默认路径下的自己的配置文件或指定路径下的配置文件。

主配置文件一般加载和整个项目相关的,如端口,项目访问路径等。自定义配置文件一般用于配置一些实体的注入数据,如数据源等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值