Spring boot 读取yml配置文件
SpringBoot 的优点是配置文件少,相比springMVC少了很多的配置文件
SpringBoot 提供一个名称为 application 的全局配置文件,支持两种格式
properteis 格式 与 YAML 格式。
首先我们先了解一下SpringBoot的配置文件
1. SpringBoot的配置文件
1.1 properties 格式
- application.properties配置 Tomcat 监听端口
server.port=8888
1.2 yml格式
- application.properties配置 Tomcat 监听端口
server:port:8888
1.3 配置文件存放位置
- 当前项目根目录中
- 当前项目根目录下的一个/config 子目录中
- 项目的 resources 即 classpath 根路径中
- 项目的 resources 即 classpath 根路径下的/config 目录中
1.4配置文件加载顺序
不同格式的加载顺序 如 果 同 一 个 目 录 下 , 有 application.yml 也 有application.properties, 默 认 先 读 取 application.properties。如果同一个配置属性,在多个配置文件都配置了,默认使用第 1个读取到的,后面读取 的不覆盖前面读取到的。
不同位置的加载顺序
当前项目根目录下的一个/config 子目录中(最高)
config/application.properties
config/application.yml
当前项目根目录中(其次)
application.properties
application.yml
项目的 resources 即 classpath 根路径下的/config 目录中(一般)
resources/config/application.properties
resources/config/application.yml
项目的 resources 即 classpath 根路径中(最后)
resources/application.properties
resources/application.yml
2. 读取yml配置文件
2.1 配置普通数据
- 语法: key: value
- 示例代码:
enableSDK:false
- 注意:value之前有一个空格
读取配置普通数据
@Value("${enableSDK}")privateBoolean enableSDK;
2.2 配置对象数据
- 语法:
- key: key1: value1 key2: value2
- 或者: key: {key1: value1,key2: value2}
student:
name: tuan
age:18
2.3 配置数组(List、Set)数据
- 语法:
- key:
- value1
- value2 或者: key: [value1,value2]
city:- shanghai- chongqing
#或
city:[beijing,tianjin,shanghai,chongqing]
#集合中的元素是对象形式
student:- name: zhangsan
age:18
score:100- name: lisi
age:28
score:88