202 Star 1.9K Fork 615

张奇峰 / GinSkeleton

 / 详情

viper读取所有配置后,反序列化成一个结构体

待办的
创建于  
2020-11-24 17:05

viper读取所有配置后,如果能反序列化成一个结构体,更加方便开发者使用

  • 如果配置中的key名称有变化,可以通过ide工具直接发现;
  • 开发者可以在debug日志中打印所有配置,方便排查问题;
  • 从结构体中直接读取配置,比从sync.Map中读取性能更好;
  • 很多应用场景下,对于配置的变化,并不需要实时更新,可以通过channel异步更新配置结构体;

评论 (2)

zhoudaxiang 创建了任务
zhoudaxiang 关联仓库设置为张奇峰/GoSkeleton
展开全部操作日志

"viper读取所有配置后,如果能反序列化成一个结构体"
我看了一下,目前有2个配置文件,配置项的键基本在100个左右,定义一个结构体的话,非常庞大,感觉还有点臃肿。

请问一下,市面上其他框架是这样做的吗?能不能给个同类的例子,我参考一下。

我们是参考springboot里面的@ConfigurationProperties注解。同时我觉得转化成结构体后,结构应该会更清晰一点,利用ide的提示功能是比较方便获取配置,也不会发生写错key值,导致获取不到配置,类似下面这种代码,还是有可能写错key,也有可能用错get方法

variable.ConfigGormv2Yml.GetInt("Gormv2."+sqlType+".IsOpenReadDb")

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1630834 daitougege 1578956384 8274512 zhouyinan alulu 1616219442
Go
1
https://gitee.com/daitougege/GinSkeleton.git
git@gitee.com:daitougege/GinSkeleton.git
daitougege
GinSkeleton
GinSkeleton

搜索帮助