我需要为java应用程序处理一组相对复杂的配置参数。要求大致如下:
现在,我知道Spring以某种方式实现了所有这些。然而,它有一些缺点,但没有致命的:
所以,我想问,你能想到任何符合我要求的替代方案吗?
我有点像YamlBeans,但缺少一些功能。
答案 0 :(得分:10)
这个看起来很有趣,但我不得不承认我没有用它:
答案 1 :(得分:9)
您是否已查看Apache Commons Configuration?
答案 2 :(得分:5)
我们在项目中使用Constretto。非常轻巧,易于使用。
答案 3 :(得分:3)
您可以尝试cfg4j。它主要面向分布式应用程序,但支持大多数请求的功能。
答案 4 :(得分:1)
对于大多数要求,我已经能够使用标准属性完成此操作。我将一个Properties对象包装在一个配置类中,该类从以下位置读取属性文件:
Configuration类代码使应用程序中的属性共同覆盖属性,文件系统属性覆盖应用程序级属性。
配置作为Spring bean加载,并将其内部Properties对象公开给PropertyPlaceholderConfigurer,允许在Spring xml文件中进一步$var
替换。由于配置是一个Spring bean,它可以在我需要的地方注入。
这样的东西应该可以扩展到处理JSON或YAML文件而不是属性文件以允许地图,列表等。