最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring中獲取Bean對象的三種注入方式與兩種注入方法詳解

 更新時間:2023年03月08日 10:20:34   作者:crazy_xieyi  
平常的Java開發(fā)中程序員在某個類中需要依賴其它類的方法,下面這篇文章主要給大家介紹了關(guān)于Spring中獲取Bean對象的三種注入方式與兩種注入方法的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下

前言

獲取 bean 對象也叫做對象裝配,是把對象取出來放到某個類中,有時候也叫對象注?。

對象裝配(對象注?)的實現(xiàn)?法以下 3 種:屬性注?、構(gòu)造?法注?、Setter 注?。

下面例子均是將 Service 類注?到 Controller 類中。

獲取Bean對象的三種注入方式

屬性注?

屬性注?是使?@Autowired 實現(xiàn)的,將 Service 類注?到 Controller 類中。

Service 類的實現(xiàn)代碼如下:

Controller 類的實現(xiàn)代碼如下:

獲取 Controller 中的 getUser ?法:

執(zhí)行結(jié)果如下:

屬性注?的核?實現(xiàn)如下:

構(gòu)造?法注?

注意:如果當(dāng)前類中只有一個構(gòu)造方法,那么@Autowired 注解可以省略。

Setter 注?

屬性注?、構(gòu)造?法注?和Setter 注?有什么區(qū)別呢?

1.屬性注入的特點就是寫法簡單,但是通用性不好,它只能運行在IoC容器下,如果是非IoC容器就會出現(xiàn)問題。

2.Setter注入是早期Spring版本的推薦寫法,但是Setter注入通用性沒有構(gòu)造方法注入的通用性好,所以現(xiàn)在Spring官方推薦的是構(gòu)造方法注入。

3.構(gòu)造方法注入:通用性更好,它能確保在使用注入對象之前,此時這個注入對象一定是初始化過了。當(dāng)構(gòu)造方法注入?yún)?shù)過多時,此時開發(fā)者就要檢查自己所寫的代碼是否符合單一設(shè)計原則的規(guī)范了,這種注入方式也是Spring后期官方推薦的注入方式。

兩種注入方法

在進(jìn)?類注?時,除了可以使?@Autowired 關(guān)鍵字之外,我們還可以使? @Resource 進(jìn)?注?,如下代碼所示:

那么@Autowired 和 @Resource 有什么區(qū)別呢?

注意:@Resource只支持屬性注入和Setter注入,不支持構(gòu)造方法注入。

1.@Autowired 和 @Resource的出身不同:@Resource來自于JDK(java的親兒子),而@Autowired是Spring框架提供的。

2.用法不同:@Autowired三種注入方式都支持,但是@Resource不支持構(gòu)造方法注入。

3.支持的參數(shù)不同:@Resource支持更多的參數(shù)設(shè)置,比如name、type等,而@Autowired只支持required參數(shù)設(shè)置。

總結(jié)

到此這篇關(guān)于Spring中獲取Bean對象的三種注入方式與兩種注入方法的文章就介紹到這了,更多相關(guān)Spring獲取Bean對象注入方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于springboot集成swagger及knife4j的增強問題

    關(guān)于springboot集成swagger及knife4j的增強問題

    這篇文章主要介紹了springboot集成swagger以及knife4j的增強,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • SpringBoot3.x循環(huán)依賴問題解決方案

    SpringBoot3.x循環(huán)依賴問題解決方案

    這篇文章主要介紹了SpringBoot3.x循環(huán)依賴的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Java數(shù)據(jù)結(jié)構(gòu)之圖的兩種搜索算法詳解

    Java數(shù)據(jù)結(jié)構(gòu)之圖的兩種搜索算法詳解

    在很多情況下,我們需要遍歷圖,得到圖的一些性質(zhì)。有關(guān)圖的搜索,最經(jīng)典的算法有深度優(yōu)先搜索和廣度優(yōu)先搜索,接下來我們分別講解這兩種搜索算法,需要的可以參考一下
    2022-11-11
  • Java基礎(chǔ)之反射技術(shù)相關(guān)知識總結(jié)

    Java基礎(chǔ)之反射技術(shù)相關(guān)知識總結(jié)

    今天帶大家復(fù)習(xí)Java基礎(chǔ)知識,文中對Java反射技術(shù)介紹的非常詳細(xì),對正在學(xué)習(xí)Java的小伙伴們很有幫助,,需要的朋友可以參考下
    2021-05-05
  • 基于Java protected的深入理解

    基于Java protected的深入理解

    本篇文章是對Java protected進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • SpringBoot整合Mybatis-plus實現(xiàn)多級評論功能

    SpringBoot整合Mybatis-plus實現(xiàn)多級評論功能

    本文介紹了如何使用SpringBoot整合Mybatis-plus實現(xiàn)多級評論功能,同時提供了數(shù)據(jù)庫的設(shè)計和詳細(xì)的后端代碼,前端界面使用的Vue2,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-05-05
  • Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證

    Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證

    本篇文章主要介紹了Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證,用戶登錄、權(quán)限管理這些是必不可少的業(yè)務(wù)邏輯,具有一定的參考價值,有興趣的可以了解一下。
    2017-02-02
  • Mybatis-Plus實現(xiàn)自定義SQL具體方法

    Mybatis-Plus實現(xiàn)自定義SQL具體方法

    Mybatis-Plus是Mybatis的一個增強工具,它可以優(yōu)化我們的開發(fā)效率,這篇文章主要介紹了Mybatis-Plus實現(xiàn)自定義SQL,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • MyBatis的通俗理解:SqlSession.getMapper()源碼解讀

    MyBatis的通俗理解:SqlSession.getMapper()源碼解讀

    這篇文章主要介紹了MyBatis的通俗理解:SqlSession.getMapper()源碼解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java使用Thread和Runnable的線程實現(xiàn)方法比較

    Java使用Thread和Runnable的線程實現(xiàn)方法比較

    這篇文章主要介紹了Java使用Thread和Runnable的線程實現(xiàn)方法,結(jié)合實例形式對比分析了Java使用Thread和Runnable實現(xiàn)與使用線程的相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10

最新評論

安龙县| 萨嘎县| 沙河市| 积石山| 岑溪市| 平罗县| 荆州市| 类乌齐县| 石首市| 晴隆县| 蓬安县| 孟连| 庆阳市| 察哈| 秀山| 西盟| 林周县| 格尔木市| 平山县| 西宁市| 永年县| 武定县| 黄梅县| 余姚市| 时尚| 浪卡子县| 岗巴县| 乐山市| 鲁山县| 辽宁省| 中超| 夏河县| 吉木萨尔县| 昂仁县| 临颍县| 黄大仙区| 蕉岭县| 通化县| 汉源县| 大同县| 即墨市|