什么是可能的轻量级Java配置库来处理复杂的配置?

Nak*_*ble 15 java spring configuration-files

我需要为java应用程序处理一组相对复杂的配置参数.要求大致如下:

  • 嵌套配置值包含列表,映射等 - 而不仅仅是普通键/值对
  • 多个配置文件,以后的配置文件可以智能地覆盖早期配置文件中的设置.
  • 从不同位置对同一配置项进行多次引用
  • 可继承的已配置对象,因此新对象可以从以前的对象复制配置,只需更改特定的内容即可
  • 新配置选项所需的代码非常少 - 最佳的方法是将@Configurable注释添加到字段或类似的东西

现在,我知道Spring以某种方式实现了所有这些.然而,它有一些缺点,但没有致命的:

  • Spring并没有真正优化为配置语言,因为它更关注依赖注入
  • XML配置文件更多的意思是在JAR文件中提供,而不是由最终用户修改,所有可配置属性通过单独的属性文件或类似文件引用 - 我需要配置文件完整且容易结束 - 用户可修改
  • 当有在线配置刷新而没有终止正在进行的连接时,以及当需要单独的配置检查原语需要完全验证配置但实际上没有做任何事情时,Spring配置有点单调乏味

所以,我问,你能想到任何能满足我要求的替代方案吗?

我有点像YamlBeans,但缺少一些功能.

Nat*_*ier 10

这个看起来很有趣,虽然我不得不承认我没用过它:

http://owner.aeonbits.org


Tho*_*mas 9

你已经看过Apache Commons配置了吗?

  • 此外,Apache Commons Configuration具有许多运行时依赖性.它不是很轻巧. (3认同)

sma*_*mat 5

我们在项目中使用Constretto.非常轻巧,易于使用.


Nor*_*ert 5

你可以试试cfg4j 它主要面向分布式应用程序,但支持大多数所需的功能。