Maven Central で利用可能なJSConfライブラリを試してみてください。これは、Properties、HOCON、および JSON 形式をサポートしています。
外部ファイルからサービスなどに値を注入できます。
JavaConfig の使用例:
ファイルapp.confに保存されたデータ
{
"root":{
"simpleConf":{
"url":"Hello World",
"port":12,
"aMap":{
"key1":"value1",
"key2":"value2"
},
"aList":[
"value1",
"value2"
]
}}
構成を注入する必要があるサービス
@Service("service")
public class Service {
@Autowired
private ConfigBean configBean;
}
サービスから構成値にアクセスするためのインターフェースを宣言する
@ConfigurationProperties("root/simpleConf")
public interface ConfigBean {
String getUrl();
int getPort();
Map getAMap();
List getAList();
}
そして、Spring 構成 Bean :
@Configuration
public class ContextConfiguration {
@Bean
public static ConfigurationFactory configurationFactory() {
return new ConfigurationFactory().withResourceName("app.conf") //
.withScanPackage("org.jsconf.core.sample.bean");
}
}