springboot配置文件详解
一 . springboot的配置文件一共有三种格式
yml yaml properties 前两种是一样的
语法都是一样的,都是以空格来控制层级关系
最大的区别就是 读取properties中的中文会乱码 因为spring是以ISO8859的方式读的
二. spring配置文件简介:
注意:
如果修改sprngBoot的配置参数 就需要在classesPath 路径下添加
application.xml或者application.yml或者application.yaml
新添加的配置会覆盖 默认的配置(习惯大于约定)
1. 使用随机数
配置文件中让参数随机可以用Random.int random.value random.long
2. 多环境参数配置 就是 开发 测试 生产环境 不同环境的参数不一样 如果换一次就改一次 那岂不是很难受?
所以spring-boot 允许我们设置多个配置文件
格式是:
application-(自定义).properties
所以正常来说我们的配置文件需要4个
一个必加载的application.properties
剩下三个可选的
application-test.properties
application-dev.properties
application-pruduct.properties
在application.properties被加载后 通过参数spring.profiles.active=
来决定加载哪个可选配置文件
例如spring.profiles.active=test
那么springboot就会加载application.properties和application-test.properties
还可以通过命令行来确定用哪个
java -jar xxx.jar --spring.profiles.active=test 来决定用哪个
3.自定义属性的加载
在properties中配置的属性可以在类中用@Value("${}")来注入
如果配置文件是整型 那么我们就可以在代码中用int类型的变量来接收
但是如果是int类型的数字 那么加入传入的时候含有字符串 就会报错
但是@Value如果数字中包含空格 会自动去除空格
三.yml与properties的区别
yml格式 注意之间的空格
boot:
map1:
name
map2:
last
map3:
second:
2
等同于properties
boot.map1=name
boot.map2=last
boot.map3.second=2
常用的样板配置在 Spring Boot 官方文档给出,我们常在 application.properties(或 yml)去配置各种常用配置:
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html