Safetype Config使用

最近在写spark程序,想找一个配置管理的库,发现了这个,记录一下简单的使用

1.添加maven依赖项

        <dependency>
            <groupId>com.typesafe</groupId>
            <artifactId>config</artifactId>
            <version>1.3.2</version>
        </dependency>

2.通过ConfigFactory加载配置

val config = ConfigFactory.load(resourceBasename)

如果不带参数,则加载application.conf
可以加载多个配置文件,通过withFallback将两个配置实例合并

val finalConfig = newConfig.withFallback(config).resolve

如果有相同的配置项,newConfig的配置会覆盖config的配置
resolve用于substitutions(${config_item})

3.获取配置项

Config提供了getString,getBoolean等方法

val country = config.getString("user.country")

可以解析不同单位的时长(分,秒等)和大小(G、M等)

import java.util.concurrent.TimeUnit
config.getDuration("redis.ttl", TimeUnit.MINUTES)
config.getDuration("redis.ttl", TimeUnit.SECONDS)

// maxFileSize = 512k or maxFileSize = 2G
config.getMemorySize("maxFileSize").toBytes()

// 处理列表或数组
config.getIntList("conf.some_list")
config.getStringList("conf.some_list")
    原文作者:chenk
    原文地址: https://segmentfault.com/a/1190000016412696
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞