我正在用Play编写一个小型的个人文件服务器!这是我的第一个Web应用程序.存储用户可以通过首选项面板修改的首选项的建议做法是什么.
我的第一个想法是在conf目录中使用属性文件,但我必须能够在运行时修改它. conf目录是否可写,无论部署选项如何?
是否有内置选项或是否有更好的方法?
但在您的情况下,似乎文件系统是您的持久性引擎,并且您似乎不需要事务或对所讨论的功能的过度良好的读/写性能,所以我会保持该部分最简单,直到其他一些持久性需要引擎:我只是将用户首选项对象序列化为某种文本格式(JSON或XML出现在脑海中)并将它们保存在文件系统中:现在没有映射地狱,没有过早的选择(甚至可能会破坏^ W编辑你的用你喜欢的文本编辑器的用户偏好,直接在服务器上,是的;)
话虽这么说,在Scala或Java生态系统中,有很多很好的框架可以完成这项工作.
对于XML映射,我不是Scala本机库的最佳选择.使用它可以很容易地生成XML结构,但是从XML到Scala对象的映射最好是可怕的.
XStream(http://x-stream.github.io/)非常适合,但你必须使用Java集合,或者添加你自己的(这不是我对’最简单’的看法).
对于JSON映射,Scala中有几个非常好的库.谷歌和其他stackoverflowers可能有更多细节,但我知道至少有这两个:
> Lift-JSON(https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/) – 我使用了那个,即使API看起来有时候对我来说很奇怪而且文档有点太亮了,对case case的自动反序列化真的很酷;
据报道Jerkson(https://github.com/codahale/jerkson)非常简单和善良
希望能帮助到你,