par*_*tic 5 java scala playframework
我正在用Play编写一个小型的个人文件服务器!这是我的第一个Web应用程序.存储用户可以通过首选项面板修改的首选项的建议做法是什么.
我的第一个想法是在conf目录中使用属性文件,但我必须能够在运行时修改它.conf目录是否可写,无论部署选项如何?
是否有内置选项或是否有更好的方法?
正如 Kim Stebel 所说,通常的解决方案是使用应用程序已有的内容,大多数情况下是数据库引擎,无论是关系型还是非关系型。这是因为大多数时候,用户偏好是在其他一些已经存在的数据之后出现的。
但在你的情况下,文件系统似乎是你的持久性引擎,并且你似乎不需要事务或对于所讨论的功能来说非常好的读/写性能,所以我会保持该部分尽可能简单,直到其他持久性需要引擎:我只是将用户首选项对象序列化为某种文本格式(想到 JSON 或 XML)并将它们保存在文件系统中:目前没有映射地狱,没有过早的选择(甚至有可能损坏^W编辑你的用户首选项与您最喜欢的文本编辑器,直接在服务器上,是的;)
话虽如此,Scala 或 Java 生态系统中有大量适合这项工作的优秀框架。
对于 XML 映射,我不认为 Scala 原生库是最好的选择。用它生成 XML 结构很容易,但从 XML 到 Scala 对象的映射充其量是可怕的。XStream ( http://x-stream.github.io/ ) 对此非常好,但是您必须使用 Java 集合,或者添加您自己的集合(这不是我认为的“最简单”的)。
对于 JSON 映射,Scala 中有几个非常好的库。Google 和其他 stackoverflowers 可能有更多详细信息,但我知道至少有这两个:
希望能帮助到你,