![](/img/trans.png)
[英]How to access grailsApplication.config from a groovy class?
[英]Access grailsApplication or Service in groovy class
我試圖在src/groovy
下的groovy類中訪問grailsApplication
,但是我得到一個空指針異常。 我還嘗試將服務注入到同一個類和相同的結果中。 如何從groovy類訪問grailsApplication
或服務? (我使用的是Grails 1.3.7)
在Grails 2.0之后,你應該使用:
def grailsApplication = Holders.grailsApplication
依賴注入對src/groovy
下的groovy類不起作用。 您可以使用ApplicationHolder
訪問grailsApplication
如下所示:
import org.codehaus.groovy.grails.commons.ApplicationHolder
def grailsApplication = ApplicationHolder.application
您可以訪問以下所有服務:
def allServicesArtefacts = grailsApplication.services
如果您希望參與src / groovy或src / java或第三方jar的依賴注入,那么您所要做的就是在grails-app / conf / spring / resources.groovy中配置它們。
如果你的src / groovy目錄中的類mypackage.MyClass看起來像這樣:
package mypackage
class MyClass{
def grailsApplication
def myMethod(){
//uses grailsApplication
}
}
然后通過將以下內容添加到grails-app / conf / spring / resoruces.groovy中,它將自動注入:
myClass(mypackage.MyClass){bean->
bean.autowire = "byName"
}
這將適用於任何版本的grails,就像我說你甚至可以使用第三方罐子 - 例如我總是在我的resources.groovy中有以下內容:
jdbcTemplate(org.springframework.jdbc.core.JdbcTemplate){
dataSource = ref('dataSource')
}
有關更全面的Spring / Grails文檔,請參閱:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.