【发布时间】:2011-03-21 15:29:26
【问题描述】:
假设我想存储用户首选项,但它们不仅仅是字符串和整数首选项。其中一些是 Java 对象,例如 Color、JFreeChart 图表设置等。最好的方法是什么? YAML 会是一种选择,并且只是将这些数据序列化到应用程序中吗?我想避免编写将字符串转换为 java 对象的翻译代码。谢谢。
【问题讨论】:
标签: java jsf yaml preferences java-ee-6
假设我想存储用户首选项,但它们不仅仅是字符串和整数首选项。其中一些是 Java 对象,例如 Color、JFreeChart 图表设置等。最好的方法是什么? YAML 会是一种选择,并且只是将这些数据序列化到应用程序中吗?我想避免编写将字符串转换为 java 对象的翻译代码。谢谢。
【问题讨论】:
标签: java jsf yaml preferences java-ee-6
一个选项是使用XStream。
它易于使用,无需外部配置*,并可将 Java 对象与 XML 或 JSON 相互转换。
*如果您想让序列化的首选项更具可移植性或可读性,您将需要几个注释。但是,如果目标只是将 Java 对象序列化/反序列化为大致人类可读的格式,那么您甚至不需要注释。
【讨论】:
您可以使用一些标准的对象到字符串的映射,例如 XML 或 JSON。这样您只需使用 3rd 方库进行转换(无需自己编写)
【讨论】:
您想在哪里存储您的偏好设置?如果他们要去数据库,请使用 ORM。如果将它们序列化为文件足够好,您可以按照 biziclop 的建议使用 XStream,它可以序列化为 JSON 和 XML
【讨论】: