映射属性文件中的数据

时间:2009-04-29 08:05:13

标签: java data-structures properties

我有以下数据:

User   System    SubSystem
user1  System1   SubSystem1
user2  System1   SubSystem2
user3  N/A       N/A

我需要能够确定用户的系统/子系统元组。我必须能够随时添加用户而无需重建和重新部署系统。

我知道数据库是最好的选择,但我不能使用数据库表。

我目前使用哈希映射进行映射,但我不希望它被硬编码。我正在考虑使用属性文件,但我无法想象我将如何实现它。其他人有什么建议吗?

不重要但我在weblogic 10.3上使用JAVA。

4 个答案:

答案 0 :(得分:3)

你可以使用HashMap(就像你现在这样做)并使用XStream存储它。

XStream允许您将Java对象序列化/反序列化为可读/可编辑的XML。然后,您可以将其写入(比如说)文件系统,并且可以手动编辑结果。

缺点是它是Java对象的XML序列化,因此不像编辑的属性文件那么明显。然而,它仍然非常易读,并且任何远程技术人员都能轻松理解。这是否是一个合适的解决方案取决于此文件的受众。

答案 1 :(得分:2)

听起来像是你可以很好地使用YAML来实现的 SnakeYAML看起来是一个可行的Java实现。

答案 2 :(得分:1)

我会选择一些简单的事情:

user1 = userValue
user1.system = systemValue
user1.system.subsystem= subsystemValue
user2 = userValue
user2.system = systemValue
user2.system.subsystem= subsystemValue

user(id)用作属性中的“主要”键,以及用于存储表值的字段的非常简单的连接。 我经常使用它:相信我,它比它看起来更强大:)

答案 3 :(得分:0)

对于这个项目,我已经采用了Olivier提出的解决方案。一些项目反对(项目的遗产)阻止我使用可能更好的使用XStream的解决方案。

对于反馈家伙而言