2012-06-26 112 views
1

我完全新的格里芬,並有簡單的問題,我驚訝,我無法找到答案...如何訪問配置在格里芬

如何訪問我的每個環境設置我Config.groovy定義的服務。

environments { 
    development { 
     awserver.url = "http://localhost:8080/app" 
    } 

    production { 
     awserver.url = "xxx" 
    } 
}  

我試過注射griffonApplication(與Grails的比喻),並使用griffonApplication.config,但似乎沒有被工作

回答

1

環境的設置是在應用程序的配置自動合併。 服務(任何其他GriffonArtifact)有GriffonApplication屬性,其名稱爲「應用程序」,所以下面應該工作

class SampleService { 
    def serviceMethod() { 
     URL url = app.config.awserver.url.toURL() 
     // do something with url 
    } 
} 
+0

有沒有訪問任何其他方式配置的一種方式,像ConfigurationHolder.config在Grails的? –

+0

是的,只需使用griffon.util.ApplicationHolder抓住應用程序實例即可。 Griffon沒有爲配置對象公開額外的持有者(就像Grails一樣),所有的訪問都是通過應用程序實例進行的。 – aalmiray

+0

太棒了,謝謝你的手 –