我需要处理一个相对复杂的Java应用程序配置参数集合。需求大概如下:
我有点喜欢YamlBeans,但它缺少一些功能。
- 嵌套配置值包括列表、映射等,而不仅仅是简单的键/值对。
- 多个配置文件,后面的配置文件可以智能地覆盖之前配置文件中的设置。
- 相同的已配置项可以从不同的地方进行多次引用。
- 可继承的配置对象,这样新对象就可以从之前的对象复制配置并只更改特定内容。
- 新配置选项所需的代码极少——最理想的情况是将@Configurable注解添加到字段或类似的东西中。
- Spring并没有真正优化成一种配置语言,它更关注于依赖注入。
- XML配置文件更适合打包进JAR文件中,而不是由最终用户修改,其中所有可配置属性都通过单独的属性文件或类似方式引用——而我需要的是完整的配置文件,并且容易被最终用户修改。
- 当在线配置更新时需要终止当前连接,以及可能需要验证配置的单独配置检查原语,但实际上不执行任何操作时,Spring配置有些繁琐。
我有点喜欢YamlBeans,但它缺少一些功能。