国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

如何使用@Autowierd

發(fā)布時(shí)間:2021-09-04 11:55 來(lái)源:億速云 閱讀:0 作者:小新 欄目: 開(kāi)發(fā)技術(shù)

這篇文章主要介紹了如何使用@Autowierd,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著(zhù)大家一起了解一下。

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

@Autowired 是一個(gè)注釋?zhuān)梢詫︻?lèi)成員變量、方法及構造函數進(jìn)行標注,讓 spring 完成 bean 自動(dòng)裝配的工作。

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

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

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

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

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

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

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

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

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

<!--開(kāi)啟注解的支持-->
        <context:annotation-config/>

但是相應的需要在配置文件中加入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類(lèi)中的屬性上加上一個(gè)@Autowierd注釋即可實(shí)現自動(dòng)裝配

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

自動(dòng)裝配完了之后在spring容器中注冊person類(lèi)時(shí)就不需要在對person類(lèi)的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">
 
        <!--開(kāi)啟注解的支持-->
        <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注釋?zhuān)珸Resource注釋與@Autowierd功能相同,@Resource甚至包括了@Autowierd

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

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

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

四、注意事項

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

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

@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)有放在標注了@Configuration這個(gè)注解的類(lèi)下。

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

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

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

性一交一乱一伦一色一情孩交| 色婷婷亚洲精品综合影院| 久久国内精品自在自线400部| 国产成人免费ā片在线观看老同学| 在线无码视频观看草草视频| 伊人无码精品久久一区二区|