config格式json
complex-app { something = "hello world" # here we want a simple-lib-context unique to our app # which can be custom-configured. In code, we have to # pull out this subtree and pass it to simple-lib. simple-lib-context = { simple-lib { foo = "hello world complex1 foo" whatever = "hello world complex1 whatever" } } }
解析方法app
package com.usoft6; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; import com.usoft3.SystemSettingDemo; /** * Created by liyanxin on 2015/1/13. */ public class TypesafeConfigDemo { public static void main(String args[]) { // "config1" is just an example of using a file other than // application.conf // config1是在classpath路徑下的配置文件名,該文件類型是conf文件類型 Config config1 = ConfigFactory.load("complex1"); // use the config ourselves System.out.println(config1.getString("complex-app.something")); System.out.println(config1.getString("complex-app.simple-lib-context.simple-lib.foo")); System.out.println(config1.getString("complex-app.simple-lib-context.simple-lib.whatever")); // ConfigFactory.parseString使用parseString直接解析 Config config2 = ConfigFactory.parseString("akka.loggers = \"akka.testkit.TestEventListener\""); System.out.println(config2.getString("akka.loggers")); // 使用parseString 直接解析json字符串 Config config3 = ConfigFactory.parseString("{\"a\":\"b\", \"c\":\"d\"}"); System.out.println(config3.getString("a")); System.out.println(config3.getString("c")); } }
typesafe下的config包能夠用來讀取配置文件,支持多種形式。this
可是,若使用spa
ConfigFactory.load()
加載配置文件,只能加載src/main/resources目錄下的application.conf文件,不夠靈活。code
經過研究發現,可使用字符串
val c = ConfigFactory.parseFile(new File("*****.conf"))
加載任意位置的配置文件get