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

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

分享到微博請遵守國家法律
富宁县| 榕江县| 平南县| 台山市| 饶河县| 临颍县| 连云港市| 谢通门县| 汪清县| 建始县| 康平县| 太保市| 弥勒县| 三穗县| 巴塘县| 寻甸| 滦南县| 宁蒗| 永宁县| 黄梅县| 商城县| 瓮安县| 鄂托克旗| 大厂| 沧源| 蕉岭县| 南川市| 彭山县| 上高县| 新平| 五华县| 定边县| 澄江县| 拜泉县| 古蔺县| 平顺县| 安新县| 陈巴尔虎旗| 安平县| 阿勒泰市| 沂南县|