亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于@Autowierd(自動(dòng)裝配)的使用說(shuō)明

 更新時(shí)間:2021年08月14日 11:34:35   作者:熊熊熊熊可愛(ài)  
這篇文章主要介紹了@Autowierd(自動(dòng)裝配)的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Autowierd(自動(dòng)裝配)的使用

@Autowired 是一個(gè)注釋,它可以對(duì)類成員變量、方法及構(gòu)造函數(shù)進(jìn)行標(biāo)注,讓 spring 完成 bean 自動(dòng)裝配的工作。

一、介紹@Autowierd自動(dòng)裝配之前我們需要先了解何為裝配?

首先我們來(lái)看最原生態(tài)的裝配,以一個(gè)人分別養(yǎng)了貓和狗為例,我們先分別為貓和狗進(jìn)行實(shí)例化:

    <bean id="cat" class="com.spring05.pojo.Cat"/>
    <bean id="dog" class="com.spring05.pojo.Dog"/>

由于person類的屬性中帶有貓和狗,所以我們需要將貓和狗的實(shí)體類注入人的實(shí)體類中:

    <bean id = "Person" class="com.spring05.pojo.Person">
        <property name="dog" ref="dog"/>
        <property name="cat" ref="cat"/>
    </bean>

以上就是裝配,所謂的屬性注入

但是我們知道,如果是手動(dòng)注入的屬性的話,一旦屬性數(shù)量多的話會(huì)顯得很繁瑣,這時(shí)候自動(dòng)裝配的作用就體現(xiàn)出來(lái)了

二、@Autowierd自動(dòng)裝配的使用

第一步,使用@Autowierd注釋需要在配置文件中開啟注解支持

        <!--開啟注解的支持-->
        <context:annotation-config/>

但是相應(yīng)的需要在配置文件中加入context約束:

xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

接下來(lái)就是注解的使用了,@Autowierd注釋的使用只需要在Person類中的屬性上加上一個(gè)@Autowierd注釋即可實(shí)現(xiàn)自動(dòng)裝配

    @Autowired
    private Cat cat;
    @Autowired
    private Dog dog;

自動(dòng)裝配完了之后在spring容器中注冊(cè)person類時(shí)就不需要在對(duì)person類的bean添加屬性注入,這邊放入整個(gè)配置文件以供參考

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
 
        <!--開啟注解的支持-->
        <context:annotation-config/>
    <bean id="cat" class="com.spring05.pojo.Cat"/>
    <bean id="dog" class="com.spring05.pojo.Dog"/>
    <bean id="Person" class="com.spring05.pojo.Person"/>
</beans>

除了@Autowierd之外還需要介紹@Resource注釋,@Resource注釋與@Autowierd功能相同,@Resource甚至包括了@Autowierd

三、使用注解@Autowierd的"搭檔"@Qualifier

如果@Autowired自動(dòng)裝配的環(huán)境比較復(fù)雜,自動(dòng)裝配無(wú)法通過(guò)一個(gè)注解@Autowired來(lái)完成時(shí),我們可以使用@Qualifier(value= “xxx”)去配合@Autowired的使用,指定一個(gè)唯一的bean對(duì)象注入:

    @Autowired
    @Qualifier(value = "cat")
    private Cat cat;
    @Autowired
    @Qualifier(value = "dog")
    private Dog dog;

四、注意事項(xiàng)

1、使用Autowired我們可以省略set方法,但是使用注解的前提是裝配的屬性必須在IOC容器中存在,且符合名字byname

2、如果定義了@Autowired的required屬性為false,說(shuō)明這個(gè)對(duì)象可以為空,否則不允許為空:

@Autowired(required = false)

3、不僅僅只有通過(guò)注釋可以自動(dòng)裝配,還可以通過(guò)ByName和ByType來(lái)自動(dòng)裝配:

    <bean id="Person" class="com.spring05.pojo.Person" autowire="byType"/>
    <bean id="Person" class="com.spring05.pojo.Person" autowire="byName"/>

SpringBoot的Autowierd失敗

通常是以下幾種可能:

1.沒(méi)有加@Service注解,或者是這個(gè)bean沒(méi)有放在標(biāo)注了@Configuration這個(gè)注解的類下。

2.SpringBoot啟動(dòng)類沒(méi)有開啟掃描

@ComponentScan(value = {"com.bihang"})

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 自旋鎖(spinlock)相關(guān)知識(shí)總結(jié)

    Java 自旋鎖(spinlock)相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了Java 自旋鎖(spinlock)相關(guān)知識(shí)總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-02-02
  • 淺析Java如何優(yōu)雅的設(shè)計(jì)接口狀態(tài)碼和異常

    淺析Java如何優(yōu)雅的設(shè)計(jì)接口狀態(tài)碼和異常

    HTTP協(xié)議里定義了一系列的狀態(tài)碼用來(lái)表明請(qǐng)求的狀態(tài),如常用的200表示請(qǐng)求正常,404表示請(qǐng)求的資源不存在,所以本文就來(lái)和大家討論一下如何優(yōu)雅的設(shè)計(jì)接口狀態(tài)碼和異常,感興趣的可以了解下
    2024-03-03
  • HashMap線程不安全問(wèn)題解析

    HashMap線程不安全問(wèn)題解析

    這篇文章主要介紹了HashMap線程不安全問(wèn)題解析,HashMap的線程不安全體現(xiàn)在會(huì)造成死循環(huán)、數(shù)據(jù)丟失、數(shù)據(jù)覆蓋等問(wèn)題,其中死循環(huán)和數(shù)據(jù)丟失是在JDK1.7中出現(xiàn)的問(wèn)題,在JDK1.8中已經(jīng)得到解決,但是1.8中仍會(huì)有數(shù)據(jù)覆蓋這樣的問(wèn)題,需要的朋友可以參考下
    2023-11-11
  • Java Gradle項(xiàng)目中的資源正確獲取方式

    Java Gradle項(xiàng)目中的資源正確獲取方式

    這篇文章主要介紹了Java Gradle項(xiàng)目中的資源正確獲取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 一文搞懂Java中的反射機(jī)制

    一文搞懂Java中的反射機(jī)制

    這篇文章主要介紹了Java中反射機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • java split用法詳解及實(shí)例代碼

    java split用法詳解及實(shí)例代碼

    這篇文章主要介紹了java split用法的相關(guān)資料,并附實(shí)例代碼,幫助大家學(xué)習(xí)參考,需要的朋友可以參考下
    2016-09-09
  • SpringBoot集成緩存功能詳解

    SpringBoot集成緩存功能詳解

    Java?Caching定義了五個(gè)核心接口,分別是:CachingProvider、CacheManager、Cache、Entry和Expiry,這篇文章主要介紹了SpringBoot集成緩存功能詳細(xì)過(guò)程,需要的朋友可以參考下
    2024-06-06
  • springboot+zookeeper實(shí)現(xiàn)分布式鎖的示例代碼

    springboot+zookeeper實(shí)現(xiàn)分布式鎖的示例代碼

    本文主要介紹了springboot+zookeeper實(shí)現(xiàn)分布式鎖的示例代碼,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java多線程饑餓與公平介紹及代碼示例

    Java多線程饑餓與公平介紹及代碼示例

    這篇文章主要介紹了Java多線程饑餓與公平介紹及代碼示例,分析饑餓產(chǎn)生的原因以及相關(guān)實(shí)例,然后就在java中實(shí)現(xiàn)公平性問(wèn)題做了詳細(xì)解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 詳解Spring boot+CXF開發(fā)WebService Demo

    詳解Spring boot+CXF開發(fā)WebService Demo

    這篇文章主要介紹了詳解Spring boot+CXF開發(fā)WebService Demo,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-05-05

最新評(píng)論