假設我有10個grails服務。這些服務中的每一個都將撥打REST服務。所以,我想封裝REST代碼,以便它可以輕鬆地被10個服務所使用。grails服務層次結構
在考慮的選擇,我可以:
1)創建REST相關的代碼,其他服務或豆,並注入它的10所服務的每一個。
2)創建一個包含REST代碼的超類服務,並且所有10個grails服務擴展這個類。
我試着去選擇2,但遇到依賴注入到超類的問題。
實施例:
class SuperService {
def aString
}
class ExampleService extends SuperService {
}
resources.groovy:
beans = {
superService(SuperService) {
aString = "something"
}
exampleService(ExampleService) {
}
}
當我在調試器中運行此運行的集成測試,同時,我看到ASTRING的值爲空。顯然,這對我來說會有問題。
正如你所預料的,具有以下resources.groovy運行相同的代碼:
beans = {
superService(SuperService) {
}
exampleService(ExampleService) {
aString = "something"
}
}
和ASTRING = 「東西」。
所以,我更喜歡選項2,因爲它會少配置接線,但我不認爲這將是可行的方法。換句話說,如果必須在每個子類中設置一個字符串,就沒有價值。
的思考?
我錯過了什麼嗎?
我對其他選項也是開放的。
由於提前, 託德
爲什麼你認爲選項2會少配置接線? –