- 配置加载原理
在Spring中PropertySource类实现了所有属性的实例化。
启动赋值:
- 定义自定义属性配置源,从config-server获取全局属性;
- Spring启动时,插入自定义属性配置源;
- 绑定属性会优先使用,给自定义属性配置源赋值。
动态更新:
- client端和server端保持心跳检测,当有配置变动时获取新配置;
- 对于@Value的字段需要反射赋值;
- 对于@ConfigurationProperties配置类可以发送刷新事件。
优先级:
- 自定义配资源;
- 来自系统属性;
- 来自application.yaml;
- 来自application.properties;
- 来自spring内置属性。
- 自定义客户端注解
使用该注解就能加载客户端程序
- 自定义ConfigService
接口: 获取所有配置名称;根据名称获取配置
实现类:使用Map保存所有配置信息