2011-11-22 37 views
4

我有一個在Groovy中實現的Grails服務,我想在Web應用程序中注入一個Java類。我知道我可以通過applicationContext.getBean(「exampleService」)獲得Java中的bean,但編譯時未知類型ExampleService。將Groovy Grails服務注入到Java類中

我可以簡單地導入服務嗎?它似乎沒有宣佈一個典型的包。

(我是相當新的的Grails和Java Web,以便任何事情來幫助我的東西是怎麼回事幕後非常感謝理解。)

回答

2

如果你不想使用applicationContext.getBean("exampleService")注入Grails的服務到Java類,Java類本身必須是一個Spring bean,你應該二者連接在一起,在任何resources.groovyresources.xml

如果上述內容對您沒有多大意義,您可能需要閱讀Spring依賴注入的基礎知識。

0

什麼多納爾說了之後,你可以將Java類作爲resources.groovy

例如豆,假設您的Java類的名稱是JavaClass,它位於你的src某處夾。轉到resources.groovy並添加以下到您的豆...

beans = { 
... 
    javaClass(JavaClass) { 
     exampleService = ref('exampleService') 
    } 
} 

現在,你應該能夠訪問exampleService您的Java類中像一個普通的豆腐。

def exampleService 

雖然請記住,如果您使用的是像intellij這樣的小bean圖標,它可能不會出現在它旁邊。這個是正常的。此外,不要忘記將JavaClass導入resources.groovy