1. 关于SpringBoot配置文件说明
基本配置: KEY-VALUE结构
1.1 properties文件
特点: 1.properties编辑的数据 本质都是String类型的字符串
2.properties中的key value结构使用 =号方法动态链接
3.properties中无需添加多余的’'号
4.properties中加载时默认的字符集的编码格式是ISO-8859-1 如果写中文需要指定字符集
修改字符集配置:
1.2 yml文件
2. 为属性赋值操作
2.1 业务需求
当利用SpringBoot程序整合第三方框架时,如果都将属性信息写死在代码中,则程序的扩展性不好
问题: 能否动态的获取属性信息呢?
2.2 利用@Value属性赋值
1).编辑YML配置文件
# 特点:
# 1. YML中 key/value 使用 :+空格 方式链接
# 2. YML中文件有层级关系 写的时候注意缩进.
# 3. YML中默认的程序加载时默认的字符集是UTF-8编码. 所以不会有中文乱码问题.
server:
port: 8080
# 测试案例1:属性赋值 注意事项 编辑key时最好添加业务名称
redis:
host: 10.0.0.4
port: 6379
2).属性赋值
2.3 利用properties为属性赋值
1).编辑properties配置文件
#业务类型的配置文件 注意事项: key不能重复
redisPro.host=192.168.1.1的IP地址
redisPro.port=7000
2).编辑Controller
@RestController
//动态加载配置文件
@PropertySource(value = "classpath:/properties/redis.properties",encoding = "UTF-8")
public class RedisProController {
@Value("${redisPro.host}")
private String host;
@Value("${redisPro.port}")
private Integer port;
@RequestMapping("/getNodePro")
public String getNode(){
return "redis节点:"+host+":"+port;
}
}
3. 环境切换测试
3.1 业务说明
开发时可能会遇到 办公地点的变化. 开发可能在公司完成,但是线上部署时需要在甲方完成.
开发环境和测试环境可能不同.如果频繁修改 效率太低.
3.2 实现环境切换
# 选择默认环境 SpringCloud 配置中心机制 统一管理YML配置文件
spring:
profiles:
active: test
---
# 特点:
# 1. YML中 key/value 使用 :+空格 方式链接
# 2. YML中文件有层级关系 写的时候注意缩进.
# 3. YML中默认的程序加载时默认的字符集是UTF-8编码. 所以不会有中文乱码问题.
server:
port: 8080
#定义环境名称
spring:
config:
activate:
on-profile: prod
# 测试案例1:属性赋值 注意事项 编辑key时最好添加业务名称
redis:
host: 10.0.0.4
port: 6379
#环境分隔符 原来的一个YML 拆分为2个YML
---
server:
port: 9000
#定义环境名称
spring:
config:
activate:
on-profile: test
redis:
host: 192.168.1.1
port: 7000