文章目录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/eceaa00e894d75375ae96361b9f55289.gif#pic_center)
🎇前言
学习一个东西,我们先要知道它有什么用处。整个项目中所有重要的数据都在配置文件中配置,例如:数据库的连接信息、项目启动窗口、第三方系统调用密钥、日志等级…,如果没有配置信息,那么 SpringBoot 项目就无法连接数据库,不能保存关键日志,因此,在项目中,配置文件的作用是及其重要的。
1.配置文件的格式
配置文件有两种格式:.properties
和.yml(.yaml)
他两个的关系就像是饭店里面出的新品和旧品的区别,.properties
是旧品,.yml
是新品。
注意:
- 理论上讲
properties
可以和yml
⼀起存在于⼀个项目当中,当properties
和yml
⼀起存在⼀个项目中时,如果配置⽂件中出现了同样的配置,比如properties
和yml
中都配置了“server.port”,那么这个时候会以properties
中的配置为主,也就是.properties
配置⽂件的优先级高,但加载完 .properties ⽂件之后,也会加载.ym
l ⽂件的配置信息。- 虽然理论上来讲
.properties
可以和.yml
共存,但实际的业务当中,我们通常会采取⼀种统⼀的配置⽂件格式,这样可以更好的维护(降低故障率)。
2. properties配置文件说明
properties 配置⽂件是最早期的配置⽂件格式,也是创建 Spring Boot 项目默认的配置⽂件
2.1 properties基本语法
properties是以键值的形式匹配的,key与value之间有“=”连接:
# 配置项⽬端⼝号
server.port=8084
# 配置数据库连接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/database?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
2.2 读取配置文件
如果在项⽬中,想要主动的读取配置⽂件中的内容,可以使⽤ @Value 注解来实现。
使用注解@Value使用${}
的格式读取,如下:
@Component
public class Read {
@Value("${server.port}")
private String port;
}
3. yml 配置文件说明
yml 是 YAML 是缩写,通常以.yml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式。
3.1 yml 基本语法
- 以
k:v
键值对的形式表示,冒号后面必须有一个空格。 - 对大小写敏感
- 用递进表示层级关系,缩进只能用空格,不能用
Tab
键缩进 - 字符串可以不用双引号
如下代码:
# 配置项⽬端⼝号
server:
port: 8084
# 配置数据库连接
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/database?characterEncoding=utf8
username: root
password: root
4.properties与yml 对比
- properties 是以 key=value 的形式配置的键值类型的配置文件,yml使用的类似于json格式的树形配置方式
- properties 为早期并且默认的配置文件格式,配置时存在冗余数据的问题,使用yml可以解释数据冗余问题
- yml通用性好,支持很多语言,例如:Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置文件。