这是我一段时间以来一直在努力解决的问题。问题是:我有很多(20 个左右)静态值数组。我说静态是因为这就是我实际存储它们的方式,作为某些域中的静态数组。例如,如果我有一个已知网站列表,我会:
class Website {
...
static websites = ["web1", "web2" ...]
}
但是我只是在开发时这样做,因为如果需要我可以轻松更改数组,但是当应用程序准备好部署时我要做什么?在我的项目中,这些值数组很可能在某些时候发生变化。我一直在研究这件事,可以将应用程序属性存储在外部 .properties 文件中,但是存储数组是不可能的,甚至是徒劳的,因为如果某个数组获得了附加值,应用程序将无法识别它直到在需要的地方添加新属性的名称。
另一种方法是将这些信息存储在数据库中,但由于某种原因,添加 20 个或更多只有两行(一个 id 和一个名称)的表似乎是一种浪费。
据我所知,最后一个选项是 XML,但我对这些不是很有经验。看起来 groovy 有一种相对容易创建和读取 XML 文件的方法,但我不知道修改应用程序中预定义布局的 XML 会有多困难。
不用说,将它们存储在 config.groovy 中不是一种选择,因为任何更改都需要重新编译。
我还没有遇到一些“标准”(也许是最佳实践?)处理这些问题的方法。
所以问题是:在哪里存储这些数组?