在春依賴注入here是否測試類創建實現在春天依賴注入注入
Whne最後的測試類運行這個例子中,該行後:
MySpringBeanWithDependency test = (MySpringBeanWithDependency) factory
.getBean("mySpringBeanWithDependency");
哪一個實現作家類將被注入?測試類仍然負責創建一個實際的實現並在Writer上調用業務方法之前注入它。這是真的嗎?
在春依賴注入here是否測試類創建實現在春天依賴注入注入
Whne最後的測試類運行這個例子中,該行後:
MySpringBeanWithDependency test = (MySpringBeanWithDependency) factory
.getBean("mySpringBeanWithDependency");
哪一個實現作家類將被注入?測試類仍然負責創建一個實際的實現並在Writer上調用業務方法之前注入它。這是真的嗎?
在基於註釋的示例和基於XML的示例中,Spring都會將NiceWriter
bean注入到MySpringBeanWithDependency
bean中。
對於註釋例如,這是因爲NiceWriter
類與@Service
註釋(而Writer
類不是)和彈簧將通過類路徑掃描發現這一點,它自動裝配成MySpringBeanWithDependency
。
對於XML示例,這是因爲NiceWriter
類用於定義ID爲writer
的bean,該bean被引用爲ID爲mySpringBeanWithDependency
的bean的「writer」屬性。
在這兩種情況下,MySpringBeanWithDependency
bean都是通過Spring注入的依賴項實例化的,因此可以使用。它是而不是負責管理其IWriter
依賴項。這就是爲什麼依賴注入(簡稱DI)通常與控制反轉(簡稱IoC)聯合使用。 Spring提供了一個使用DI的IoC容器。