中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Bean依賴注入的簡單介紹

發布時間:2021-09-13 17:27:31 來源:億速云 閱讀:108 作者:chen 欄目:大數據

這篇文章主要講解了“Bean依賴注入的簡單介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Bean依賴注入的簡單介紹”吧!

容器在加載BeanDefinition時會調用bd.getPropertyValues().addPropertyValue(pv);成員變量的定義信息添加到BeanDefinition對象中

容器在AbstractAutowireCapableBeanFactorydoCreateBean()方法中調用populate()方法執行依賴注入的邏輯

執行populate()方法時會調用mbd.getPropertyValues()獲取BeanDefinition對象中的成員變量的定義信息,根據此信息進行依賴注入

protected void populateBean(String beanName, RootBeanDefinition mbd, @Nullable BeanWrapper bw) {
    if (bw == null) {
        ...
    }

	...

    // 獲取bean定義信息中的成員變量定義信息
    PropertyValues pvs = (mbd.hasPropertyValues() ? mbd.getPropertyValues() : null);

    if (mbd.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_NAME ||
        mbd.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_TYPE) {
        MutablePropertyValues newPvs = new MutablePropertyValues(pvs);

        // Add property values based on autowire by name if applicable.
        if (mbd.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_NAME) {
            autowireByName(beanName, mbd, bw, newPvs);
        }

        // Add property values based on autowire by type if applicable.
        if (mbd.getResolvedAutowireMode() == RootBeanDefinition.AUTOWIRE_BY_TYPE) {
            autowireByType(beanName, mbd, bw, newPvs);
        }

        pvs = newPvs;
    }

    ...

    if (pvs != null) {
        // 應用成員變量的定義信息
        applyPropertyValues(beanName, mbd, bw, pvs);
    }
}

applyPropertyValues(beanName, mbd, bw, pvs);——bw.setPropertyValues()——setPropertyValue()

遍歷成員變量定義信息,逐個注入

容器根據成變量定義信息使用getBean()獲取到bean,再使用反射調用setterXxx()方法或其他方法將bean注入到bean中

感謝各位的閱讀,以上就是“Bean依賴注入的簡單介紹”的內容了,經過本文的學習后,相信大家對Bean依賴注入的簡單介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弋阳县| 富民县| 鹤岗市| 府谷县| 姚安县| 康乐县| 腾冲县| 佛冈县| 平顶山市| 浏阳市| 依安县| 富平县| 樟树市| 新营市| 平昌县| 阿拉善盟| 乌鲁木齐市| 渑池县| 伊金霍洛旗| 望谟县| 晋城| 普陀区| 泾阳县| 介休市| 平定县| 嵊州市| 霞浦县| 微山县| 桐乡市| 通辽市| 盐山县| 玉门市| 大姚县| 长泰县| 杨浦区| 府谷县| 莱芜市| 元江| 阿坝县| 靖江市| 沙湾县|