2012-04-11 28 views

回答

0

自動裝配

@Autowired註解不是必需的,只是方便。

這意味着如果您有一個屬性需要InterfaceA並且在Spring中聲明瞭一個類型爲InterfaceA的單一bean,而不是使用XML手動「連接」關係(將bean引用設置爲另一個屬性),你可以讓Spring爲你做佈線。

+0

@benny:謝謝 – jayjay 2012-04-12 11:32:46

0

這是初學者常見的問題。由於豆類是使用DI注射(注射器感染,構造注射),爲什麼我們需要自動接線?自動佈線也做同樣的事情,對吧?

答案是,它可以幫助您避免編寫更多代碼。

1-如果使用xml文件,它可以避免您在那裏寫入任何接線代碼。使用自動裝配屬性的一個bean,我們實現了所需的功能。

請看下面的代碼。

配置代碼,而無需自動佈線:

<bean id="employee" class="com.Employee"> 
    <property name="name" value="Dexter"></property> 
</bean> 

<bean id="employeeService" class="com.EmployeeService"> 
    <property name="employee" ref="employee"></property> 
</bean> 

配置代碼自動佈線:

<bean id="employee" class="com.Employee"> 
    <property name="name" value="Dexter"></property> 
</bean> 

<bean id="employeeService" class="com.EmployeeService" autowire="byName" /> 

請注意,我們沒有寫任何東西指的EmployeeService即員工的財產。但它仍然被注入。 自動裝配使得容器可以搜索bean配置,並在bean之間進行協作,而開發者特別提到這些。

2 - 如果我們使用註解,甚至我們沒有寫上的XML文件,包括該autoware =「綽號」只需豆的setter /場@Autowired /構造什麼足夠了。

但是,請小心使用@AutoWired字段,因爲它引入了Field注入,這不是推薦的做事方式。

相關問題