2010-06-22 60 views
0

在grails文檔中,我讀到了(根據命名約定)服務器類的實現會自動佈線。如何在春季使用AutoWire時處理新的實現?

如果這是真的,那麼如果你有一個新的實現方法,那麼如何覆蓋這種行爲呢?

我們有選擇嗎?像:

  1. 使用@annotations
  2. ,如果你不想重新編譯,將條目添加到XML

回答

1

我假設「服務器級」是爲了分型爲「服務班」和「布」 - >「是」?

如果這些假設是正確的:是的,它們是自動裝配的。

你創建你的grails-app/services目錄名爲UserService一個Grails服務,您可以通過它注入到控制器:

def userService 

您可以使用Spring DSL在resources.groovy覆蓋此行爲文件放在你的grails-app/conf/spring目錄下。或者,如果您更喜歡XML,則可以在grails-app/conf/spring中添加resources.xml文件來配置Spring Bean。

+0

使用註釋怎麼樣? – Blankman 2010-06-23 00:01:35

+0

這是一個有趣的問題,我真的不確定答案。我假設你的意思是在注入服務的類中使用類似@Qualifier的東西。我會考慮這樣一個事實,即我沒有遇到過這個約定優於配置的證明。 :)到目前爲止,byName autowiring對我來說已經足夠了。現在我很好奇,如果我有一些停機時間,看看它是否像更新配置和導入Spring註解一樣簡單,我將不得不明天做幾個實驗。 – proflux 2010-06-23 00:54:46

+0

在spring-mvc中,你可以使用註釋,所以我認爲它和grails是一樣的。 – Blankman 2010-06-23 14:38:47