2011-04-02 50 views
0

在grails中,當你創建一個服務時,它具有類的名字。所以如果我在控制器中創建CategoryService,我在控制器中添加'def categoryService'。如何在grails中定義服務的名稱?

但是如何定義不同類的名字。示例:'mycategorySvc'?

謝謝

回答

4

你將不得不在spring/resources.groovy文件中自己連線。這就是說,我不建議這樣做這樣的事情了幾個原因

  1. 縮短字服務,以SVC不會獲得你什麼
  2. 其他Grails開發者6個月內看你的代碼將說「WTF?」

我想通過MyCategoryService聽到MyCategorySvc的參數。

和BTW,第一位沒關係(MyCatagory)。它不必與域名匹配。自動注入所需的唯一東西就是Service這個詞。您可以創建一個名爲JooHooBooDooService的服務,並將其引入到CategoryController中。

+0

是的你的權利,但這是因爲在一些服務的Grails中存在的錯誤。我得到的錯誤mypackage.MyCategoryService不能用mypackage.MyCategoryService轉換 – 2011-04-07 08:45:18

+0

什麼版本的grails,你可以更詳細地描述bug? – Gregg 2011-04-07 19:47:40

+0

http://jira.grails.org/browse/GRAILS-7302我有同樣的信息,我使用@Transactional的代碼。謝謝你的幫助 – 2011-04-11 21:30:45

0

我想你正面臨一些其他的鑄造問題,但只是爲了回答這個問題。 這樣做的方法是在resources.groovy中定義我們的bean。

假設我有QuestionAnswerService代替questionAnswerService的名字,我想QNS,所以我會在resources.groovy定義QNS豆

beans = { 
    qns(QuestionAnswerService){ 
    } 
} 

,只是用這個名字在注入我的服務任何控制器和服務,如

def qns 

就是這樣,我有qns名爲QuestionAnswerService bean注入

希望它有幫助。謝謝

相關問題