Section 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]
我的问题是:
答案 0 :(得分:1)
回答第二个问题:您可以在BootStrap.groovy初始化闭包中执行此操作,因为基本上,它允许您执行任何代码:
// 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
改为配置。
答案 1 :(得分:0)
您的应用程序配置实际上可以是Groovy脚本。因此,任何看起来像Config.groovy的类都可以充当配置类。在我们的项目中,我们倾向于将配置保留在grails应用程序之外,以便可以配置应用程序而无需重新编译所有内容。
也许this post of mine会给你一个关于如何使用和加载外部配置文件的提示。