SpringBoot支持后两种配置文件
XML 臃肿
<server>
<port>8080</port>
<address>127.0.0.1</address>
</server>
properties 层级结构不清晰
server.port=8080
server.address=127.0.0.1
yml/yaml 推荐
server:
port: 8080
address: 127.0.0.1
基本语法
- 区分大小写,
#
表示注释 - 数值前边必须有一个空格
- 使用缩进表示层级关系,缩进时,不允许使用Tab键,只能用空格(idea中会自动将Tab转换为空格)
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
数据格式
对象/Map集合
user:
name: zhangsan
age: 18
password: 123456
数组/List/Set集合
hobby:
- java
- game
- sport
项目配置
spring:
#数据库连接信息
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/tlias
username: root
password: 1234
#文件上传大小配置
servlet:
multipart:
max-file-size: 10MB
max-request-size: 100MB
#mybatis配置
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
#阿里云OSS,自定义配置
aliyun:
oss:
endpoint:
accessKeyId:
accessKeySecret:
bucketName:
注入外部配置属性
@Value
只能一个一个的进行外部属性的注入
应用场景:外部属性简单,只有一两个
@ConfigurationProperties
可以批量的将外部的属性配置注入到bean对象的属性中
应用场景:外部属性多,需要复用