最近在寫spark程序,想找一個配置管理的庫,發現了這個,記錄一下簡單的使用java
<dependency> <groupId>com.typesafe</groupId> <artifactId>config</artifactId> <version>1.3.2</version> </dependency>
val config = ConfigFactory.load(resourceBasename)
若是不帶參數,則加載application.conf
能夠加載多個配置文件,經過withFallback將兩個配置實例合併redis
val finalConfig = newConfig.withFallback(config).resolve
若是有相同的配置項,newConfig的配置會覆蓋config的配置
resolve用於substitutions(${config_item})數組
Config提供了getString,getBoolean等方法app
val country = config.getString("user.country")
能夠解析不一樣單位的時長(分,秒等)和大小(G、M等)maven
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")