目录
1、为什么需要配置文件
2、配置文件的两种格式
2.1、.properties
2.1.1、properties语法格式
2.1.2、读取配置文件
2.1.3、properties缺点
2.2、.yml
2.2.1、yml基本语法
2.2.2、yml配置不同数据类型及null
2.2.3、yml配置读取
2.2.4、测试读取null和读取不存在的配置结果是否相同
2.2.5、配置内容中的值【单双引号】
2.2.6、配置对象
2.2.7、配置集合
2.2.8、yml的优点
3、Properties VS yml
不同环境中不同的配置文件
项目中所有重要的数据都是在配置文件中配置的,比如:
如果没有配置信息,SpringBoot项目就不能连接和操作数据库,甚至是不能保存可以用于排查问题的关键日志,退一步将,我们不使用配置文件,就在代码中配置需要的信息,那几万行的代码中,需要的配置的信息太多了,如果我们想修改配置信息,总不可能一个一个去找,然后再修改吧~那早晚得出现差错~所以配置文件的作用是非常大滴!

properties配置文件是最早期的配置文件格式,也是创建SpringBoot项目默认的配置文件
properties是以键值的形式配置的,key和value之间用“=”连接:

注:配置文件中,注释信息使用“#”
点击main方法运行:

有时候想读取配置信息中的内容,怎么做呢?
使用@Value来读取配置中的对象

运行后查看结果:

打印出问题了,我们想要的是server.port中的value值,而打印的确实server.port,也就是@Value注解中的字符串,为什么呢?因为Java中双引号引起来的就是字符串呀~含义就是:将“server.port”赋值给port变量。我们在这里我们需要加工一下:

加上一个$符,和花括号 ,运行:

代码冗余度高

yml是yaml的缩写,全称:Yet Another Markup Language——“另一种标记语言”
这个项目中没有现成,需要我们自己去创建一个,名字也必须是application后缀是.yml

key: value

这个空格不能省略!!!
代码:

yml 是一种树形结构的配置文件
# 字符串
string.value: Hello
# 布尔值,true或false
boolean.value: true
boolean.value1: false
# 整数
int.value: 10
int.value1: 0b1010_0111_0100_1010_1110 # ⼆进制
# 浮点数
float.value: 3.14159
float.value1: 314159e-5 # 科学计数法
# Null,~代表null
null.value: ~
与properties相同:

运行:


将N2的注释去掉后,再去运行,会发现程序出错:

yml:
string:s1: 你好,世界s2: '你好,世界's3: "你好,世界"

在这里看似是没有区别的
那我们修改一下:
yml:
string:s1: 你好\n世界s2: '你好\n世界's3: "你好\n世界"

从上述可知:
yml中配置对象,如下:
student:id: 1name: 张三age: 19
或者:
student: {id: 1,name: 张三,age: 19}
读取配置对象:
使用@ConfigurationProperties来读取

#方法一:
dbtypes:name:-mysql-sqlserver-db2
#方法二:
dbtypes2: {name: [mysql,sqlserver,db2]}
读取:

不同环境中不同的配置文件
spring:profiles:active: dev
1、创建不同环境的配置⽂件:
application-dev.yml
application-prod.yml

2、在 application.yml 中设置运⾏环境
spring:profiles:active: dev
好啦,本期结束啦~下期见~
上一篇:koa+Vite+vue3+ts+pinia构建项目
下一篇:哈佛与冯诺依曼结构