java – 推荐用于存储应用程序瞬态配置的实践

前端之家收集整理的这篇文章主要介绍了java – 推荐用于存储应用程序瞬态配置的实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在用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中有几个非常好的库.谷歌和其他stackoverflowers可能有更多细节,但我知道至少有这两个:

> Lift-JSON(https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/) – 我使用了那个,即使API看起来有时候对我来说很奇怪而且文档有点太亮了,对case case的自动反序列化真的很酷;
据报道Jerkson(https://github.com/codahale/jerkson)非常简单和善良

希望能帮助到你,

猜你在找的Java相关文章