网站开发和界面的区别,科技公司logo设计图片,潍坊企业网站价格,安徽省和住房建设厅网站前言上一篇针对不同的配置源进行举例演示#xff0c;感受到不同配置源和不同数据格式使用统一操作的便捷(即没有什么加一层解决不了的#xff0c;这个不是我说的)#xff0c;这里接着说说自定义配置源、配置热更新、配置绑定对象相关操作#xff1b;配置源回顾#xff1a;… 前言上一篇针对不同的配置源进行举例演示感受到不同配置源和不同数据格式使用统一操作的便捷(即没有什么加一层解决不了的这个不是我说的)这里接着说说自定义配置源、配置热更新、配置绑定对象相关操作配置源回顾命令行环境变量文件(Json、ini、Xml)正文自定义配置源可能会有疑问内置的配置源那么多还不够用吗只能这么说需求各种各样说不一定有一些定制需求 就像如今微服务时代针对于每个服务各自解析配置信息显得就不那么合适了所以就会有一个配置中心的存在而这里的配置中心就是一个配置源如果要想像使用本地配置源一样就得自定义来先看步骤实现IConfigrationProvider通常会直接继承ConfiguratioProvider抽象类此类已经实现了IConfigrationProvider实现IConfigurationSource提供自定义的IConfigrationProvider针对IConfigurationBuilder增加扩展方法目的是不暴露自定义配置源代码同时使用也方便走起开撸这里还是以控制台的程序进行演示MyConfigurationProviderMyConfigurationSourceConfigurationBuilderExtend(非必须)像之前一样使用运行看效果简单吧是不是秒会那就对了就可以继续下一个知识点通常对于配置来说肯定有要去改配置的需求就好比之前的Asp.Net的Web.Config配置文件会根据需求进行配置修改但是要重启项目才能使用由此热更新就显得更有用武之地了即项目不需要重启配置文件修改后项目后续能获取到修改之后的数据接下来以文件配置源的形式简单举例演示创建一个控制台项目这里用Json文件做配置源演示运行默认热更新是没开启的所以改文件多次获取的值是都是旧值修改配置文件内容---这里修改的是exe执行程序所在目录的配置文件如果用的是绝对目录的话修改项目目录下的配置文件即可那如何开启呢在指定配置源的时候打开对应的属性即可增加了两个属性其实热更新的属性打开reloadOnChange就行了optional: 默认为false意思就是没有对应配置文件时报错如果设置为true不会报错读取到的值为空reloadOnChange: 默认为false意思就是没打开热更新设置为true当文件变化时就会重新加载新值运行结果这次修改文件就可以读取到最新的值了热更新其实就是个属性的开关使用就是简单接下来简单举例演示一下对象绑定吧即将配置文件中的值绑定为一个对象业务中使用的不太多因为有些不愿意单独再写一个类来做绑定但封装服务的时候有的喜欢绑定为对象进行配置值的获取绑定逻辑运行查看数据成功绑定到了对象上但默认情况下私有属性是绑定不成功的但可以打开开关哦如下总结这里说明下配置源的加载是有顺序的后添加的配置会覆盖先添加的配置这篇就先说这么多吧相对简单点本来想把变更监听内容在这一块说说的但想着可能会导致篇幅长所以留到下次再说吧专门针对配置数据变更监听过程及监听处理~~~一直想把Demo的代码开源到github上但想了想前面几个Demo就不提交了动动手敲敲绝对没坏处(哈哈哈哈别光看表面会了一写就掉坑)后面的Demo相对复杂点会开源到github上~~~~