|
目录
Spring Boot 配置文件
如果没有配置信息, Spring Boot 项目就不能连接和此操作数据库, 甚至是不能保存可以用于排查问题的关键日志, 配置文件的作用是非常重要的.
- 系统使用的配置文件 (系统配置文件), 如端口号的配置, 链接数据库的配置
- 用户自定义配置文件
Spring Boot 配置文件格式
.properties
.yml (yaml)
# 注意事项 #
- 当一个项目中, 存在两种格式的配置文件, 并且两个配置文件间中设置了相同的配置项, 但之不同时.
.properties
配置文件的优先级最高, 但加载完 .properties 文件之后, 也会加载.yml
文件的配置信息. - 理论上讲
.properties
可以和.yml
共存, 但实际业务中, 我们通常会采用一种统一的配置文件格式, 这样可以更好的维护.
properties配置文件
properties 基本语法
#
properies 以键值的形式配置的: key=vaule
.
# 设置端口号
server.port=8888
#
我们还可以自定义配置项
myTest=gujiu
我们还可以读取配置项中的内容, 使用 @Value
注解来实现, @Value 注解使用 “${}”
的格式读取.
@Controller // 当前类为控制器
@ResponseBody // 返回的是数据, 而非页面
public class TestController {
@Value("${myTest}")
private String mytest;
@RequestMapping("/getconf")
public String getConfig() {
return mytest;
}
}
注:
不可以用 @Value(“myTest”) 读取, 其含义是, 将字符串赋值给 mytest 变量.
properties 缺点
当我们想配置数据库的时候.
# 连接数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
从上述配置 key
中可以看出, properties
配置文件中会有很多的冗余信息.
想要解决这个问题,就可以使用 yml
配置⽂件的格式化了.
yml 配置文件
yml (YAML - Yet Another Markup Language) 翻译成中文 “另一种标记语言”
yml 优点
yml
是一个可读性高, 写法简单, 易于理解, 他的语法和JSON
语言类似.yml
支持更多的数据类型, 它可以简单表达清单 (数组), 散列表, 标量等数据形态, 它使用空白符号缩进和大量依赖外观的特色, 特别时候来表达或编辑数据结构, 各种配置文件等.yml
支持更多的编程语言, 它不只是Java
中可以使用在 Golang, PHP, Python, Ruby, JavaScripy, Perl 中.