我正在用Play写一个小的个人文件服务器!这是我的第一个web应用程序。存储用户可以通过首选项面板修改的首选项的建议做法是什么。
我的第一个想法是使用conf目录中的属性文件,但我必须能够在运行时修改它。无论部署选项是什么,conf目录都是可写的吗?
有没有内置的选项,或者有更好的方法?
发布于 2011-11-07 06:28:04
正如Kim Stebel所说,通常的解决方案是使用您的应用程序已经拥有的东西,这在大多数情况下是一个数据库引擎,不管是不是关系引擎。这是因为在大多数情况下,用户偏好都是在一些已经持久存储的其他数据之后出现的。
但在您的情况下,文件系统似乎就是您的持久性引擎,并且您似乎不需要事务或所讨论的特性具有非常好的读/写性能,所以我将尽可能简单地保留这一部分,直到需要其他持久性引擎:我只需要将用户首选项对象序列化为某种文本格式(想到的是JSON或XML ),并将它们保存在文件系统中:目前没有映射地狱,也没有过早的选择(甚至有可能破坏^W使用您最喜欢的文本编辑器直接在服务器上编辑用户首选项,是的;)
也就是说,无论是在Scala中还是在Java生态系统中,都有大量优秀的框架可以完成这项工作。
对于XML映射,我不认为Scala原生库是最佳选择。用它生成XML结构很容易,但从XML到Scala对象的映射充其量也就是糟糕透顶。XStream (http://x-stream.github.io/)可以很好地做到这一点,但是你必须使用Java集合,或者添加你自己的集合(这不是我所谓的“最简单”)。
对于JSON映射,在Scala中有几个非常好的库。Google和其他stackoverflowers可能会有更多细节,但我知道至少有这两个:
希望能有所帮助,
发布于 2011-11-06 23:40:56
通常的解决方案是将设置存储在数据库中。有什么理由不使用数据库吗?
https://stackoverflow.com/questions/8028064
复制相似问题