[英]How to access grailsApplication config in Config.groovy
有没有办法从Config.groovy
内部的 grailsApplication.config
获取属性? (我正在使用Grails 2.0.3)
工作
使用grailsApplication
,我可以在resources.groovy
获取配置值:
def cfg = grailsApplication.config
someBean(SomeClass){
foo = cfg.smpt.host
}
无法运作
但是在Config.groovy
,它不起作用。 返回host
和port
值的空映射:
//Config.groovy
def cfg = grailsApplication.config
grails {
mail {
host = cfg.smtp.host //empty value!
port = cfg.smtp.port //empty value!
}
}
解决方法
将邮件配置移到自定义配置文件中,并在本地引用属性,而没有grailsApplication
:
//myconfig.groovy (dev)
smtp.host
smtp.port
grails {
mail {
host = smtp.host
port = smtp.port
}
}
这可行,但是强迫我在每个配置文件中为dev,qa,uat,prod重复邮件配置,从而创建重复的配置。
为什么grailsApplication.config
可以在resources.groovy
工作,而不能在Config.groovy
?
//Config.groovy
grails.smtp.host = HOST
grails.smtp.port = PORT
//we can use
grails.mail.host = grails.smtp.host
grails.mail.port = grails.smtp.port
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.