Spring Boot配置文件

Spring Boot的配置文件

前传

了解配置文件之前,我们先来了解一些Spring Boot项目中的各个文件含义
在这里插入图片描述

为什么要有配置文件

整个项目中所有重要的数据都是在配置文件中配置的,比如:

  • 数据库的连接信息(包含用户名和密码的设置);
  • 项目的启动端口;
  • 第三方系统的调用秘钥等信息;
  • 用于发现和定位问题的普通日志和异常日志等。

想象一下如果没有配置信息,那么 Spring Boot 项目就不能连接和操作数据库,甚至是不能保存可以用于排查问题的关键日志,所以配置文件的作用是非常重要的。

配置文件种类

配置文件分为两种:

  1. 系统配置文件
  2. 用户自定义配置文件

配置文件格式

properties

语法
类似于key=value格式,#表示注释内容
# 注释内容
server.port=8888

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

# 用户自定义配置文件
mytest=123
缺点

在这里插入图片描述

可以从上述数据库连接块代码看出代码的冗余程度有点高,且因为产生的早编码格式方面容易出现乱码。

yml

说明

yml 是 YAML 是缩写,它的全称 Yet Another Markup Language 翻译成中⽂就是“另⼀种标记语
⾔”。

  • yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。
  • yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
  • yml ⽀持更多的编程语⾔,它不⽌是 Java 中可以使⽤在 Golang、PHP、Python、Ruby、JavaScript、Perl 中。
语法

yml的语法类似于json,key: value 注意value前有一个空格,这是不能省略的。

server:
  port: 6666
# 数据库连接配置
spring:
  datasoure:
    url: jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8
    username: root
    password: root
# 自定义配置项
mytest2: 李四

读取配置文件

如果在项目中想要读取配置文件,可以使用$value{}的形式获取
在这里插入图片描述
在这里插入图片描述

如果想要获取对象,可以使用 ConfigurationProperties()
在这里插入图片描述

properites vs yml

  • properties 是以 key=value 的形式配置的键值类型的配置⽂件,⽽ yml 使⽤的是类似 json 格式的树形配置⽅式进⾏配置的,yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”英⽂冒号加空格的⽅式设置,并且空格不可省略。
  • properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的解决数据冗余的问题。
  • yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。
  • yml ⽀持更多的数据类型

各种环境下的配置文件

当随着环境改变时,你配置的一些数据参数也需要改变时,可以通过在application-xxx.yml的形式再创建另一种版本的配置文件,应对不同的环境。
在这里插入图片描述
在这里插入图片描述

在SpringBoot中约定大于配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值