0

Grails 文档的第 3.4 节说 Grails 应用程序可以从外部源进行配置:

grails.config.locations = [
    "classpath:${appName}-config.properties",
    "classpath:${appName}-config.groovy",
    "file:${userHome}/.grails/${appName}-config.properties",
    "file:${userHome}/.grails/${appName}-config.groovy" ]

此外,可以通过指定一个作为配置脚本的类来加载配置:

grails.config.locations = [com.my.app.MyConfig]

我的问题是:

  1. 您能否举一个 MyConfig 类实现的示例?从文档中不是很清楚。
  2. 如果我想使用一些外部 JSON REST 服务作为我的配置数据的来源,如何实现?
4

2 回答 2

1

回答第二个问题:您可以在 BootStrap.groovy init 闭包中执行此操作,因为基本上,它允许您执行任何代码:

// Inject grails app
def grailsApplication

def init = { servletContext ->
    def externalValue = getItUsingRest(someUrl)
    grailsApplication.config.my.custom.var = externalValue
}

根据您使用的 grails 版本,您可能需要使用

org.codehaus.groovy.grails.commons.ConfigurationHolde.config

改为进行配置。

于 2012-05-10T17:22:46.063 回答
0

您的应用程序配置实际上可以是一个 Groovy 脚本。因此,任何看起来像您的 Config.groovy 的类都可以充当配置类。在我们的项目中,我们倾向于将配置保留在 grails 应用程序之外,以便可以在不重新编译所有内容的情况下配置应用程序。

也许我的这篇文章会给你一个关于如何使用和加载外部配置文件的提示。

于 2012-05-11T07:00:22.477 回答