# Spring Boot-配置文件之特殊配置
# 配置随机数
summer:
config:
title: @summer.config.title@
# 随机字符串
randomStr: ${random.value}
# 随机int
randomInt: ${random.int}
# 随机long
randomLong: ${random.long}
# 10以内随机数
random10: ${random.int(10)}
# 10-20随机数
random20: ${random.int[10,20]}
默认值: 占位符获取之前配置的值,如果没有可以使用“冒号”指定默认值
${HOST:localhost}
# 配置内容加密
在使用配置文件中,如果涉及到密码之类的敏感信息,直接以明文的形式配置,是十分不明智的,所以,我们需要对我们的敏感信息进行加密。
集成jasypt
Spring Boot集成jasypt
十分方便,只需要引入jasypt-spring-boot-starter
即可。
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
配置秘钥
jasypt.encryptor.password: xxdyu7DR.x
,这个秘钥根据自己的实际情况定义。
通过如下代码获取加密后的配置信息:
@Test
public void getPassword() {
BasicTextEncryptor encryptor = new BasicTextEncryptor();
encryptor.setPassword("xxdyu7DR.x"); //秘钥,与配置中的秘钥一致
System.out.println(encryptor.encrypt("123456")); // 明文密码加密
}
关于Spring Boot yml 配置中的单引号('')和双引号("")之间的区别单引号。单引号:不会转义特殊字符,特殊字符最终只是作为一个普通的字符串数据;双引号:会转义字符串里面的特殊字符,如\n被转义为换行.
比如在application.yml里配置的数据库密码,密钥等敏感信息,通常会被暴漏出来,我们使用这种方式来对信息进行加密脱敏,就可以避免这种情况的发生。
关于评论
评论前请填好“昵称”、“邮箱”这两栏内容,否则不会收到回复,谢谢!