Bean的自動裝配Autowiring

來源:互聯網
上載者:User

標籤:style   io   ar   使用   sp   java   strong   on   ef   

例:有兩個類AutoWiringDao和AutoWiringService兩個類,AutoWiringDao是AutoWiringService的一個屬性.在沒用自動裝配之前是這樣配置的:

<?xml version="1.0" encoding="UTF-8" ?><beans ........>    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService">        <property name="autoWiringDao" ref="autoWiringDao" />    </bean></beans>



在使用自動裝配後:

一.no:不做任何操作(預設選項)


二.byName:根據屬性名稱自動裝配.此選項將檢查容器並根據名字尋找與屬性完全一致的bean,並將其與屬性自動裝配.

<?xml version="1.0" encoding="UTF-8" ?><beans ........    default-autowiring="byName">    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService" /></beans>




三.byType:如果容器中存在一個與指定屬性類型相同的bean,那麼將與該屬性自動裝配;如果存在多個該類型bean,那麼拋出異常,並指出不能使用byType方式進行自動裝配;如果沒有找到相匹配的bean,則什麼都不發生.根據byType來尋找,與id沒有關係,id不寫也可以.

<?xml version="1.0" encoding="UTF-8" ?><beans ........    default-autowiring="byType">    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService" /></beans>




四.constructor:與byType方式類似,不同之處在於它應用於建構函式.如果容器中沒有找到與構造器參數一致的bean,那麼拋出異常.

class AutoWiringService {    private AutoWiringDao autoWiringDao;    public AutoWiringService(AutoWiringDao autoWiringDao) {        this.autoWiringDao = autoWiringDao;    }    ....}



<?xml version="1.0" encoding="UTF-8" ?><beans ........    default-autowiring="constructor">    <bean id="autoWiringDao" class="com.main.huihui.AutoWiringDao" />    <bean id="autoWiringService" class="com.main.huihui.AutoWiringService" /></beans>




Bean的自動裝配Autowiring

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.