config.groovy meare with grails中的.property文件

时间:2012-12-13 06:49:01

标签: grails configuration dependency-properties config configuration-files

在我的config.groovy中,我设置了..

emailTo="admin@xzyz.com" emailForm="notification@oabc.com"

但我想要一些灵活性。我的项目运行表单属性文件时可以更改此设置吗?请帮忙

2 个答案:

答案 0 :(得分:1)

是的,您也可以使用.property文件,默认情况下,Grails会在以下位置查找属性:

  • 在calss路径${appName}-config.properties
  • 和全局配置~/.grails/${appName}-config.properties
  • 路径作为名为${appName}.config.location
  • 的系统变量传递

只需查看Config.groovy的前几行,就可以将任何其他路径放到您自己的.properties

另见http://grails.org/doc/2.1.0/guide/conf.html#configExternalized

答案 1 :(得分:1)

我相信有一个插件可以支持动态重新加载外部配置文件,只要它们发生变化,但从概念上讲,如果这是在运行时可以修改的数据那么可能最好将它表示为域对象和存储它在数据库中。

我在许多项目中使用此方法,定义域类

class AppConfiguration {
  String adminEmail
  String appTitle
  // etc
}

并确保数据库中始终只有一个实例,如果它尚不存在,则在BootStrap中创建一个初始实例。现在应用中需要此配置数据的任何地方我只需执行AppConfiguration.list()[0]

我只是对编辑页面使用动态脚手架,这些页面仅限管理员用户通过Spring Security访问。