Java TypesafeConfig生成配置键并读取其值
我正在我的项目中使用Typesafeconfig。我想读取配置并生成一个值,这也是一个配置键,我想读取这个配置键的值 例如:Java TypesafeConfig生成配置键并读取其值,java,typesafe-config,Java,Typesafe Config,我正在我的项目中使用Typesafeconfig。我想读取配置并生成一个值,这也是一个配置键,我想读取这个配置键的值 例如: fs { city = ${CITY} number = ${NUMBER} cityNumberKey = ${CITY}"_"${NUMBER} cityNumber = ${fs.cityNumberKey} } 在上面的示例中,cityNumber的值与cityNumberKey的值相同。我实际上要做的是读取cityNumberKey confi
fs {
city = ${CITY}
number = ${NUMBER}
cityNumberKey = ${CITY}"_"${NUMBER}
cityNumber = ${fs.cityNumberKey}
}
在上面的示例中,cityNumber的值与cityNumberKey的值相同。我实际上要做的是读取cityNumberKey config的值
例如,假设城市
是德里
而数字
是31
,那么我想在城市编号
对象中读取config德里
的值
请欣赏任何类似的例子
谢谢您可以使用
reference.conf
fs {
city = "Delhi"
number = 31
}
conf {
city = ${fs.city}
number = ${fs.number}
cityNumberKey = ${conf.city}"_"${conf.number}
cityNumber = ${conf.cityNumberKey}
}
myconf.conf
fs {
city = "Delhi"
number = 31
}
conf {
city = ${fs.city}
number = ${fs.number}
cityNumberKey = ${conf.city}"_"${conf.number}
cityNumber = ${conf.cityNumberKey}
}
TypesafeConfigTest.java
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
public class TypesafeConfigTest {
public static void main(String[] args) {
Config refConfig = ConfigFactory.parseResources("reference.conf").resolve();
Config myConfConfig = ConfigFactory.parseResources("myconf.conf").withFallback(refConfig).resolve();
System.out.println("name: " + refConfig.getString("fs.city"));
System.out.println("title: " + refConfig.getString("fs.number"));
System.out.println("cityNumberKey: " + myConfConfig.getString("conf.cityNumberKey"));
System.out.println("cityNumber: " + myConfConfig.getString("conf.cityNumber"));
}
}
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
public class TypesafeConfigExamples {
public static void main(String[] args) {
Config refConfig = ConfigFactory.parseResources("myconf.conf").resolve();
System.out.println("name: " + refConfig.getString("conf.city"));
System.out.println("title: " + refConfig.getString("conf.number"));
System.out.println("cityNumberKey: " + refConfig.getString("conf.cityNumberKey"));
System.out.println("cityNumber: " + refConfig.getString("conf.cityNumber"));
}
}
编辑1:
使用单一配置
conf {
city = "Delhi"
number = 31
cityNumberKey = ${conf.city}"_"${conf.number}
cityNumber = ${conf.cityNumberKey}
}
TypesafeConfigExamples.java
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
public class TypesafeConfigTest {
public static void main(String[] args) {
Config refConfig = ConfigFactory.parseResources("reference.conf").resolve();
Config myConfConfig = ConfigFactory.parseResources("myconf.conf").withFallback(refConfig).resolve();
System.out.println("name: " + refConfig.getString("fs.city"));
System.out.println("title: " + refConfig.getString("fs.number"));
System.out.println("cityNumberKey: " + myConfConfig.getString("conf.cityNumberKey"));
System.out.println("cityNumber: " + myConfConfig.getString("conf.cityNumber"));
}
}
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
public class TypesafeConfigExamples {
public static void main(String[] args) {
Config refConfig = ConfigFactory.parseResources("myconf.conf").resolve();
System.out.println("name: " + refConfig.getString("conf.city"));
System.out.println("title: " + refConfig.getString("conf.number"));
System.out.println("cityNumberKey: " + refConfig.getString("conf.cityNumberKey"));
System.out.println("cityNumber: " + refConfig.getString("conf.cityNumber"));
}
}
我试着用一种配置,但不知怎么的,它对我根本不起作用。我尝试了你分享的方式,效果很好。如果它是为,你能请样品吗?