SpringBoot -- 配置(yaml / properties)语法

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot -- 配置(yaml / properties)语法相关的知识,希望对你有一定的参考价值。

01:SpringBoot – 配置(yaml / properties)语法

02:SpringBoot – 配置(yaml / properties)语法 获取配置文件信息、Spring Boot Configuration Annotation…

03:SpringBoot – 配置:多环境配置Profile

SpringBoot – 配置:配置文件加载顺序

1. 配置


1.1 配置文件类型

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.ymlapplication.yaml)进行配置。

properties:

server.port=8080

yml / yaml:

server:
	port: 8080

1.2 小结

  • SpringBoot提供了2种配置文件类型:properteisyml/yaml
  • 默认配置文件名称:application
  • 在同一级目录下优先级为:properties > yml > yaml

2. YAML


2.1 yaml介绍

  • YAML全称是 YAML Ain’t Markup Language (YAML不是标记语言)。YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, php等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
  • YAML文件的扩展名可以使用.yml或者.yaml。

2.2 yaml和其他类型文件对比

properties:

server.port=8080
server.address=127.0.0.1

xml:

<server> 
	<port>8080</port> 
	<address>127.0.0.1</address>
</server>

yml:

简洁,以数据为核心

server: 
	port: 8080
	address: 127.0.0.1

2.3 yaml基本语法

  • 大小写敏感
  • 数据值前边必须有空格,作为分隔符(空格符的个数不限制)
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键(IDEA已经帮我们解决了这个问题,使用IDEA开发时可以规避这个问题),只允许使用空格(各个系统 Tab对应的 空格数目可能不同,导致层次混乱)。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • # 表示注释,从这个字符一直到行尾,都会被解析器忽略。

示例:

server: 
	port: 8080
	address: 127.0.0.1
name: abc

2.3 yaml数据格式

对象(map):键值对的集合。

person:
	name: zhangsan
# 行内写法
person: {name: zhangsan}

数组:一组按次序排列的值。

address:
	- beijing
	- shanghai
# 行内写法
address: [beijing,shanghai]

纯量(可以理解为Java里面的常量):单个的、不可再分的值。

msg1: 'hello \\n world' # 单引忽略转义字符
msg2: "hello \\n world" # 双引识别转义字符

yaml:参数引用

name: lisi

person:
	name: ${name} # 引用上边定义的name值


以上是关于SpringBoot -- 配置(yaml / properties)语法的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot的yaml语法

spring boot 配置多个yaml文件并根据env参数加载

二、SpringBoot的配置--yaml

springboot----四yaml配置注入

SpringBoot中yaml文件配置属性

SpringBoot -- 配置(yaml / properties)语法