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")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章