Spring Boot配置文件简单介绍

来源:互联网 发布:江苏省邮币卡软件下载 编辑:程序博客网 时间:2024/06/05 21:02

Spring Boot对配置文件支持非常友好,支持*.properties*.yml,前者是常用的配置文件,后者是Spring Boot推荐的配置文件。

一、Spring Boot支持的配置文件

Spring Boot支持两种配置文件,一个是常见的.properties格式,另外一个就是专有的.yml或者*.yaml格式。一般两者的命名都是application。

二、配置随机值

这里是介绍如何配置随机值等数值,可根据实际情况配置。两种配置方式是等效的,实际选择其中一种即可,推荐使用*.yml

1)application.properties

lemon.secret=${random.value}# 获取一个随机整数lemon.number=${random.int}# 获取一个随机长整数lemon.bignumber=${random.long}# 获取一个随机0~10的随机整数lemon.number.less.than.ten=${random.int(10)}# 获取指定区间范围的随机整数lemon.number.in.range=${random.int[1024,65536]}

2)application.yml

# 配置文件的设置# 配置文件中是可以配置随机值的lemon:  secret: ${random.value}  number: ${random.int}  bignumber: ${random.long}  number1:    less:      than: ${random.int(10)}    in:      range: ${random.int[1,10]}

注意:冒号后面都有一个空格。
加载Spring Boot应用时,会自动加载配置文件,在controller中获取配置文件中值的方式是通过@Value这个注解,@Value(value = “${lemon.secret}”)。

三、属性占位符

当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。

lemon.name=www.cug.edu.cnlemon.desc=${lemon.name} is a domain name

yml配置文件中设置方法一致。

四、其他属性配置

# 端口配置server.port=8090# 时间格式化spring.jackson.date-format=yyyy-MM-dd HH:mm:ss# 时区设置spring.jackson.time-zone=Asia/Chongqing

这是配置一些常见的公共属性。yml格式的配置文件配置如下:

# 端口配置server:  port: 8080# 时区和时间格式化spring:  jackson:    date-format: yyyy-MM-dd HH:mm:ss    time-zone: Asia/Chongqing

五、多文件配置

1、多环境配置文件的好处:
1)不同环境配置可以配置不同的参数
2)便于部署,提高效率,减少出错

2、Properties多环境配置
1)配置激活选项 spring.profiles.active=dev,可以修改值来确定不同的环境配置
2)添加其他配置文件
application.properties
application-dev.properties
application-test.properties
application-pro.properties
更改激活选项,就可以加载激活不同的环境配置文件。公共的配置信息可以写在application.properties文件中。

3、YAML多环境配置

spring:  profiles:      active: pro  # 时区和时间格式化  jackson:    date-format: yyyy-MM-dd HH:mm:ss    time-zone: Asia/Chongqing---spring:  profiles: dev# 端口配置server:  port: 8080---spring:  profiles: pro# 端口配置server:  port: 8081---spring:  profiles: test# 端口配置server:  port: 8082

更改激活选项的值就可以启动不同的环境配置。不同的配置使用三个横杠(-)区分即可。其实这是一种单文件多配置的一种体现方式。

4、两种配置方法的比较
Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
书写格式的差异,yaml相对比较简洁,优雅
YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。

5、如何使用
在命令行启动:java -jar myapp.jar --spring.profiles.active=dev