网站会动的页面怎么做的,wordpress鼠标烟花绽放的效果,中国最大的建材网站,化妆品产品的自建网站有哪些配置加载原理
在Spring中PropertySource类实现了所有属性的实例化。
启动赋值#xff1a;
定义自定义属性配置源#xff0c;从config-server获取全局属性#xff1b;Spring启动时#xff0c;插入自定义属性配置源#xff1b;绑定属性会优先使用#xff0c;给自定义属性…配置加载原理
在Spring中PropertySource类实现了所有属性的实例化。
启动赋值
定义自定义属性配置源从config-server获取全局属性Spring启动时插入自定义属性配置源绑定属性会优先使用给自定义属性配置源赋值。
动态更新
client端和server端保持心跳检测当有配置变动时获取新配置对于Value的字段需要反射赋值对于ConfigurationProperties配置类可以发送刷新事件。
优先级
自定义配资源来自系统属性来自application.yaml;来自application.properties;来自spring内置属性。
自定义客户端注解
使用该注解就能加载客户端程序 自定义ConfigService
接口: 获取所有配置名称根据名称获取配置 实现类使用Map保存所有配置信息 自定义配置源
继承了EnumerablePropertySource从ConfigService中获取属性信息。 自定义配置源处理器
实现BeanFactoryPostProcessor接口重新bean的后置处理逻辑实现 EnvironmentAware接口获取环境变量实现 PriorityOrdered接口定义优先级。 在postProcessBeanFactory()方法中
通过http请求到 config-server 获取配置创建自定义配置源创建组合配置源可以加载多个自定义的配置源放到属性源环境变量的最前面。
程序启动时debug可以看到配置中心的值加载到env的最前面了。 手动注册bean
配置中心的客户端只是一个jar包不是web项目不能自动扫描注解包需要手动注册bean。
通过实现ImportBeanDefinitionRegistrarle完成手动注册。一开始先判断是否存在避免重复加载然后再注册。 测试
新建一个web工程在启动类中使用注解EnableMidnightConfig启动配置中心客户端。
在demo工程中使用了Value的方式和ConfigurationProperties配置的方式。 工程中默认的配置值midnight.aa100。 配置中心默认的是midnight.adev500。 启动工程查看日志两种配置方式都是dev500说明配置中心起作用了。 源代码 https://github.com/midnight2104/midnight-config