我正在看書Pro Spring 3。它有一段讓我很困惑。該段是關於春季自動裝配的。下面是摘錄:何時使用春季自動裝訂
在大多數情況下,回答了是否應使用 自動裝配的問題肯定是「不!」自動裝配可以節省您的時間,在小 應用,但在許多情況下,它會導致到不好的做法,並且在大型應用中是不靈活的。使用byName似乎是一個很好的想法,但它可能會導致您爲類指定人造屬性 名稱,以便您可以利用自動裝配功能。 Spring背後的整個想法是,你可以創建你的類,你如何 喜歡並有你春天的工作,而不是其他的方式...
...對於任何非平凡的應用程序,避開自動裝配在所有 費用。
我一直在創建的應用程序中使用@Autowired標籤。有人可以解釋它有什麼問題以及我應該使用什麼?
我如何處理大部分的東西現在是一個小例子:
@Service("snippetService")
public class SnippetService {
@Autowired
private TestService testService;
public Snippet getSnippet() {
return testService.getSnippet();
}
}
是使用自動裝配類似這樣的「錯誤」還是我失去了一些東西?
我不是Spring用戶,但我熟悉Guice和CDI。這些框架基本上只是自動裝配;對於每個帶註釋的注射部位,框架都會根據類型和任何存在的限定符去找到它可以注入的東西,然後注入它。人們使用這種方法構建了非常大的應用程序;我在一個工作。我不相信他們遇到了Spring autowire-phobes所預言的問題。 –
一個警告,但:這些框架不autowire的意義上'autowire =「byType」'。如果像@mrembisz所說的那樣,這篇文章是特別警告的,那麼Guice和CDI的經驗就沒有關係。 –