Spring Boot 快速入门(二)主配置文件、yml配置文件语法

SpringBoot 的主配置文件

编辑器

Spring Boot 的主配置文件是 src/main/resources 中默认创建的 spring.properties 文件。该文件打开后是没有自动提示功能的。此时可以打开 Project Structure 窗口,在 Modules 中选中没有自动提示的工程,点击+号,找到 Spring,将其添加可以。此时的配置文件就有了自动提示功能,包括后面的 yml 文件也有了自动提示。
在这里插入图片描述

简单尝试

在这里插入图片描述

运行工程后,查看日志文件可以看到端口号与应用的根的确发生的变化。

在这里插入图片描述

在地址栏中需要输入新的端口号与应用的根名称。
在这里插入图片描述

不过需要注意,这里指定的 Tomcat 的端口号及应用的根路径,仅仅是针对于内置 Tomcat的,是测试时使用的。将工程打为 war 包后部署到真正的 Tomcat,这些配置是不起作用的,即 Tomcat 的端口号为真正 Tomcat 的端口号,而项目的根路径为 war 包名称。

yml 文件

Spring Boot 的主配置文件也可使用 application.yml 文件。yml,也可写为 yaml。

在开发之初 YAML 的本意是 Yet Another Markup Language(仍是一种标记语言)。后来为了强调这种语言是以数据为中心,而不是以标记为中心,所以将 YAML 解释为 Yaml Ain’t Markup Language(Yaml 不是一种标记语言)。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人阅读,容易和脚本语言交互,用来表达多级资源序列的编程语言。

yml 与 properties 文件的主要区别是对于多级属性,即 key 的显示方式不同。yml 文件在输入时,只需按照点(.)的方式输入 key 即可,输入完毕后回车即出现了如下形式:该形式要求冒号后与值之间要有一个空格不同级别的属性间要有两个空格的缩进

需要注意,很多脚本中的空格都是作为无效字符出现的,但 yml 脚本则是作为有效字符出现的,必须要保证空格的数量。

在这里插入图片描述

在这里插入图片描述

在演示时需要注意,application.properties 与 application.yml 这两个文件只能有一个(如果同时存在properties文件优先级更高)。要求文件名必须为 application。所以,此时可以将 application.properties 文件重命名为其它名字即可。
在这里插入图片描述

yml语法

YML文件的扩展名可以使用.yml或者.yaml。

编写规则:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • # 表示注释,从这个字符一直到行尾,都会被解析器忽略。
# 1.配置普通数据
# 语法: 
key: value
# 注意:value之前有一个空格

# 2.配置对象数据
# 语法:
key:
	key1: value1
	key2: value2
# 注意:key1前面的空格个数不限定,在yml语法中,缩进代表层级关系,相同缩进代表同一个级别

# 或者:
key: {
    
    key1: value1,key2: value2}
# 注意:键值之间都有空格

# 3.配置Map数据
# 同上面的对象写法
# 示例:
map:
	key1: value1
	key2: value2

# 4.配置数组(List、Set)数据
# 语法:
key:
	- value1
	- value2
# 注意:value1与之间的 - 之间存在一个空格

# 或者:
key: [value1,value2]

# 5.配置对象集合
# 示例:#集合中的元素是对象形式
student:
	- name: zhangsan
	  age: 18
	  score: 100
	- name: lisi
	  age: 28
	  score: 88
	- name: wangwu
	  age: 38
	  score: 90

# 或者
student:[{
    
    name: zhangsan,age: 18,addr: beijing},{
    
    name: lucy,age: 17,addr: tianjin}]

更多复杂的参考:http://www.ruanyifeng.com/blog/2016/07/yaml.html

猜你喜欢

转载自blog.csdn.net/weixin_41947378/article/details/108741496