一、这篇博客主要介绍Spring Booot中的配置文件占位符使用,在yml配置文件中Profile多文档块模式的介绍和使用,以及介绍配置文件的加载优先级。
二、配置文件占位符
【1】配置文件中可以使用随机数:
代码下所示:
①、application.yml
test:
one: ${random.value}
two: ${random.int}
three: ${random.long}
four: ${random.int(10)}
five: ${random.int[1024,4201]}
②、Number 类
package com.czd.springbootdemo.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* @author czd
*/
@Component
@ConfigurationProperties(prefix = "test")
@PropertySource("classpath:application.yml")
public class Number {
private String one;
private int two;
private long three;
private int four;
private int five;
//下面省略Setter和Getter方法以及toString方法
}
③、SpringBootDemoApplicationTests测试类
package com.czd.springbootdemo;
import com.czd.springbootdemo.bean.Number;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootDemoApplicationTests {
@Autowired()
Number number;
@Test
public void testNumber(){
System.out.println(number);
}
}
输出结果
Number{one='a0c20a576ec66382551ff989f3ddc117', two=-1341843913, three=-5359733146202224399, four=3, five=2089}
【2】属性配置符
①、application.yml
test:
one: ${random.value}
two: 50
three: ${random.long}
four: ${random.int(10)}
five: ${random.int[1024,4201]}
first: ${test.two}
second: ${test.no:你好}
②、其他Java类的话和【1】中的一样,这里就不再说了,最后输出结果如下:
Number{one='041c70a596d87b9c2dea250c68ecb4c9', two=50, three=-2973124866270938476, four=3, five=2701, first=50, second='你好'}
三、Profile-多文档块模式介绍
Profile是Spring Boot对不同环境提供不同配置功能的支持,可以通过激活,指定参数等方式快速切换环境,在这里主要介绍在yml配置文件下Profile多文档块模式。
【1】用 - - - 将文档分为5个文档块,其中 spring: profile 是设置文档块环境名字,spring: profile: active是激活指定环境,这里是激活名称为two的文档块的环境,其Tomcat服务器端口号是代码如下所示:
server:
port: 8081
spring:
profiles:
active: three
---
server:
port: 8082
spring:
profiles: one
---
server:
port: 8083
spring:
profiles: two
---
server:
port: 8084
spring:
profiles: three
---
输出结果
可以看到Tomcat的端口号是8084,说明修改成功。
四、配置文件的加载优先级
Spring Boot启动会扫描以下位置的application.properties或者application.yml作为Spring Boot的默认文件,优先级如下所示 ① 到 ④ 代表优先级由高到低。
① - file: ./config
② - file: ./
③ - classpath: ./config
④ - classpath: ./