最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Spring DI之依賴注入

2022-06-17 21:09 作者:做架構(gòu)師不做框架師  | 我要投稿


前言

在上篇文章“Spring DI三部曲之實例化”中,我們講解了spring bean是如何實例化的,接下來我們會講解是如何依賴注入的。


注意:本文是以5.2.3版本為講解。

讓我們再次回到故事的源頭”
AbstractAutowireCapableBeanFactory#applyPropertyValue()“方法。

步驟一:對屬性值進行依賴注入

BeanWrapperImpl 主要是對容器中完成初始化的 Bean 實例對象進行屬性的依賴注入,即把 Bean 對象設(shè)置到它所依賴的另一個 Bean 的屬性中去。然而,BeanWrapperImpl 中的注入方法實際上由
AbstractNestablePropertyAccessor 來實現(xiàn)的:




步驟二:將指定值設(shè)置為當(dāng)前屬性值




步驟三:實現(xiàn)屬性依賴注入功能

大致業(yè)務(wù)邏輯如下:

  • getPropertyHoldingValue:調(diào)用屬性的getter(readerMethod)方法,獲取屬性的值

  • 注入array類型的屬性值

  • 注入list類型的屬性值

  • 注入Map類型的屬性值




  • 對于集合類型的屬性,將其屬性值解析為集合后直接賦值給屬性。

  • 對于非集合類型的屬性,使用了 JDK 的反射機制,通過屬性的 getter()方法獲取指定屬性注入以前的值,同時調(diào)用屬性的 setter()方法為屬性設(shè)置注入后的值。

看到這里相信很多人都明白了 Spring 的 setter()注入原理。


時序圖


寫在最后

好兄弟可以點贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。


Spring DI之依賴注入的評論 (共 條)

分享到微博請遵守國家法律
塔河县| 宁蒗| 宁海县| 哈尔滨市| 北碚区| 大化| 镇康县| 太保市| 商水县| 张家口市| 和硕县| 新龙县| 兖州市| 浪卡子县| 宜都市| 荔浦县| 仲巴县| 巴楚县| 竹北市| 武平县| 木兰县| 通化县| 宜都市| 佳木斯市| 章丘市| 乃东县| 石景山区| 拉孜县| 钦州市| 林芝县| 孟连| 清涧县| 山东| 桃园市| 锦屏县| 韶关市| 轮台县| 泽库县| 连州市| 虹口区| 宁乡县|