五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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之依賴注入的評論 (共 條)

分享到微博請遵守國家法律
锡林浩特市| 陆良县| 鄢陵县| 永定县| 马关县| 白水县| 长兴县| 梨树县| 区。| 安福县| 榆社县| 靖安县| 措勤县| 莫力| 阿城市| 鄂尔多斯市| 洪洞县| 龙江县| 九台市| 深泽县| 峨山| 汝南县| 安康市| 平阴县| 无锡市| 承德市| 河间市| 大连市| 宣武区| 贵阳市| 凤山县| 瓦房店市| 桃园县| 苍梧县| 牙克石市| 马龙县| 衡阳市| 花垣县| 晋州市| 富民县| 英德市|