Spring Boot配置文件说明
配置文件
SpringBoot使用一个全局的配置文件,配置文件名是固定的;
application.properties
application.yml
配置文件的作用;修改SpringBoot自动配置的默认值;
yml:YAML
标记语言:
以前的配置文件;大多都使用的是 xxx.xml文件;
yml:以数据为中心,比json,xml等更适合做配置文件
yml:配置例子
server:
port: 8081
xml:
<server>
<port>8081</port>
</server>
YAML语法
1、基本语法
k:(空格)v :表示一对键值对(空格必须有);
以空格的缩进来控制层级关系;只要左对齐的一列数据,都是同一个层级的
server:
port: 8081
path: /hello
属性和值也是大小写敏感;
2、值的写法
字面量:普通的值(数字,字符串,布尔)
k: v:字面直接来写;
字符串默认不用加上单引号或者双引号;
“”:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
实例:name: “zhansan \n lisi” :输出:zhangsan 换行 lisi
‘’:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
实例:name: ‘zhansan \n lisi’ :输出:zhangsan \n lisi
对象、Map(属性和值)(键值对):
k: v:在下一行来写对象的属性和值的关系;注意缩进
对象还是k: v的方式
friends:
lastName: zhangsan
age: 20
行内写法:
pets: [cat,dog,pig]
Profile
Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活、指定参数等方式快速切换环境;
1、多Profile文件
我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml;
默认使用application.properties的配置;
2、yml支持多文档方式
server:
port: 8080
spring:
profiles:
active: prod
---
server:
port: 8081
spring:
profiles: dev
---
server:
port: 8082
spring:
profiles: prod
3、激活指定profile
1、在配置文件中指定 spring.profiles.active=dev
2、 命令行:
java -jar xxx.jar --spring.profiles.active=dev
3、虚拟机参数:
-Dspring.profiles.active=dev
配置文件加载位置
springboot启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot的默认配置文件
-file:./config/
-file:./
-classpath:/config/
-classpath:/
优先级由高到低,高优先级的配置会覆盖低优先级的配置;
SpringBoot会从这四个位置全部加载主配置文件;