繁体   English   中英

如何在Config.groovy中访问grailsApplication配置

[英]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 ,它不起作用。 返回hostport值的空映射:

    //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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM