10.1. 配置管理

未匹配的标注
本文档最新版为 0.x,旧版本可能放弃维护,推荐阅读最新版!

如有疑问请加群询问,交流群:836414068

配置文件

aurora 的配置处理采用的 viper 实现,仅支持 yml 格式的读取, 自带的 ConfigCenter 配置中心实现对 viper 的分装,提供了并发读写安全的操作。

默认配置文件

aurora 会加载项目跟目录下的application.yml配置文件,存在多个同名的配置文件加载顺序会优先查找最外层的配置。

读取配置文件

通过 func (*Aurora) GetConfig() Config 提供对配置的访问

自定义配置文件

实现 aurora.Config 接口,该接口是对 viper 中的一个抽取,以便用户自定义对 viper 中的功能进行扩展。

type Config interface {
    SetConfigFile(string) 
    SetConfigType(string) 
    ReadConfig(io.Reader) error         
    Set(string, interface{}) 
    SetDefault(string, interface{})                 
    GetStringMapString(string) map[string]string Get(string) interface{} 
    GetStringSlice(string) []string 
    GetStringMap(string) map[string]interface{} 
    GetString(string) string 
    GetStringMapStringSlice(string) map[string][]string
}

使用自定义 viper 替换默认的配置

func main() {
    a := aurora.NewAurora() 
    cnf := viper.New() 
    cnf.SetConfigFile("X:\\xx\\xx\\xx\\xx\\xx.yml") 
    err := cnf.ReadInConfig() 
    if err != nil { 
    a.Panic(err) 
    } 
    a.Use(cnf) 
    aurora.Run(a)
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~