我对默认解决方案非常满意,但还有更高级的吗?
答案 0 :(得分:1)
这是一种很好的方法,允许您使用spring覆盖每个环境的默认值:
答案 1 :(得分:0)
你在找什么?属性只是键/值对的一部分。
你可以使用像XML这样的更高级的proeprties,但它更加成熟。
答案 2 :(得分:0)
Apache Commons-Configuration项目有各种实现来读取,编写和管理配置文件。其中包括平面属性(文本文件中的键值对),结构化XML (配置参数可读名称的XML文件),分层 , Windows INI 格式, JNDI ,系统属性等。
它们支持基本数据类型(字符串,数字,布尔值),列表和转换器,用于自定义数据类型,例如网址,颜色,日期等。
配置可以从各种来源读取,例如文件,输入流,内存中表示,URL,JDBC数据源,属性列表文件(plist),字符串,Applet参数,Servlet参数当然还有系统属性。
独特功能包括XPath表达式评估,可变插值器,自动重新加载,可观察配置,验证甚至多租户。
使用示例:
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new SystemConfiguration());
config.addConfiguration(new PropertiesConfiguration("app.properties"));
// Some impls have special features:
// xmlConfig.setValidating(true);
// propsConfig.setAutoSave(true);
// propsConfig.setReloadingStrategy(new FileChangedReloadingStrategy());
config.setListDelimiter('/');
config.addProperty("greeting", "Hello, how are you?");
config.addProperty("colors.graph", "#808080/#00FFCC/#6422FF");
String salut = config.getString("greeting");
String[] colGraph = config.getStringArray("colors.graph");
答案 3 :(得分:0)
看一下OWNER API,这是一个基于注释的迷你框架,做了一些巧妙的事情。
根据版本1.0.3,它支持对象映射(可由用户自定义),自动类型转换,变量扩展,从具有两个不同策略的多个源加载属性(合并文件或获取第一个可用的),从中导入属性地图(类似于公共记录的复合配置)。
版本1.0.4将在asap发布,它将包括对类型转换中的集合和数组的支持,两种带有通知机制的“热重新加载”(您更改磁盘上的文件并自动重新加载对象)。如果您觉得下载源代码并自行打包,那么所有这些功能都已在主分支上提供。
我正在研究更多的想法。 如果您有任何要求,我很高兴听到。有关我正在处理的其他事项,请参阅github issues。