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

Spring入門基礎(chǔ)之依賴注入

 更新時(shí)間:2022年07月04日 09:48:11   作者:RAIN 7  
Idea中使用@Autowire注解會(huì)出現(xiàn)提示黃線,強(qiáng)迫癥患者看著很難受,使用構(gòu)造器注入或者setter方法注入后可解決,下面我們一起來(lái)看看

一、構(gòu)造器注入

在前幾節(jié)已經(jīng)做過(guò)了詳細(xì)的說(shuō)明講解,我們先跳過(guò)

二、set注入

依賴注入

依賴: bean對(duì)象的創(chuàng)建以及管理都依賴于Spring IOC容器

注入: bean對(duì)象中的所有屬性,都有容器進(jìn)行注入

在前面我們已經(jīng)見(jiàn)識(shí)過(guò)了 普通類型注入和 bean注入的方式,那么對(duì)于復(fù)雜類型List、數(shù)組類型、Map、Set屬性等怎么進(jìn)行注入呢?

我們先提供一個(gè)包含各種類型的實(shí)體類

Student 類

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@Setter
@Getter
@ToString
public class Student {
    private String name;
    private Address address;
    private String[] books;
    private List<String> hobbies;
    private Map<String,String> card;
    private Set<String> games;
    private String wife;
    private Properties info;
}

Student類中包含的 Address類

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class Address {
    private String address;
}

(1)基本類型注入

<!--            普通類型注入-->
        <property name="name" value="張三"/>

(2)引用類型(bean)注入

    <bean name="address" class="com.kuang.pojo.Address"/>
    <bean id="student" class="com.kuang.pojo.Student">
<!--        引用類型(bean)注入-->
        <property name="address" ref="address"/>
    <bean/>

(3)數(shù)組類型注入

<!--         數(shù)組類型注入  -->
        <property name="books">
            <array>
                <value>紅樓夢(mèng)</value>
                <value>水滸傳</value>
                <value>西游記</value>
                <value>三國(guó)演義</value>
            </array>
        </property>

property 嵌套 array標(biāo)簽 ,array標(biāo)簽中又 通過(guò) value標(biāo)簽設(shè)置 數(shù)組中的值

(4)List類型注入

<!--Lits 屬性注入-->
        <property name="hobbies">
            <list>
                <value>打籃球</value>
                <value>彈吉他</value>
                <value>踢足球</value>
            </list>
        </property>

property 嵌套 list標(biāo)簽 ,list標(biāo)簽中又 通過(guò) value標(biāo)簽設(shè)置 list中的值

(5)null 空值注入

<!--        null注入-->
        <property name="wife">
            <null/>
        </property>

property 嵌套 null標(biāo)簽,給指定屬性設(shè)置為null

(6)Map 類型注入

<!--        Map注入-->
        <property name="card">
            <map>
                <entry key="身份證" value="1111"/>
                <entry key="飯卡" value="22222"/>
            </map>
        </property>

property 嵌套 map標(biāo)簽 ,map標(biāo)簽中又 通過(guò) entry標(biāo)簽設(shè)置 key、value中的值

(7)Set 類型注入

<!--        Set注入-->
        <property name="games">
            <set>
                <value>塞爾達(dá)</value>
                <value>馬里奧</value>
            </set>
        </property>

property 嵌套 set標(biāo)簽 ,set標(biāo)簽中又 通過(guò)value標(biāo)簽設(shè)置set中的值

(8)Properties 類型注入

<!--        properties注入-->
        <property name="info">
            <props>
                <prop key="url">111</prop>
                <prop key="username">root</prop>
                <prop key="password">22222</prop>
            </props>
        </property>

property 嵌套 props標(biāo)簽 , props標(biāo)簽中又 通過(guò)prop標(biāo)簽設(shè)置值

查看注入之后的結(jié)果,正確拿到結(jié)果

三、其他方式注入

(1)導(dǎo)入約束

其他拓展的注入有p命名注入和c命名注入,但是不能直接使用都需要引入xml約束

p命名空間注入xml約束

       xmlns:p="http://www.springframework.org/schema/p"

c命名空間xml約束

       xmlns:c="http://www.springframework.org/schema/c"

p命名和c命名是對(duì)注入方式的一種格式化

  • p命名對(duì)應(yīng)著 property 屬性注入
  • c命名對(duì)應(yīng)著 construct-arg 構(gòu)造參數(shù)注入

(2)p命名注入

    <bean name="address" class="com.kuang.pojo.Address"/>
    <bean id="student"
          class="com.kuang.pojo.Student"
          p:name="張三"
          p:address-ref="address"
    />

(3)c命名注入

    <bean name="address" class="com.kuang.pojo.Address"/>
    <bean id="student"
          class="com.kuang.pojo.Student"
          c:name="張三"
          c:address-ref="address"
    />

到此這篇關(guān)于Spring入門基礎(chǔ)之依賴注入的文章就介紹到這了,更多相關(guān)Spring依賴注入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot項(xiàng)目參數(shù)校驗(yàn)方式(Validator)

    Springboot項(xiàng)目參數(shù)校驗(yàn)方式(Validator)

    本文介紹了如何在Spring Boot項(xiàng)目中使用`spring-boot-starter-validation`包和注解來(lái)實(shí)現(xiàn)請(qǐng)求參數(shù)校驗(yàn),主要介紹了校驗(yàn)注解的使用方法、校驗(yàn)失敗的異常捕獲以及`@Validated`的分組功能
    2025-02-02
  • RocketMQ?Namesrv架構(gòu)工作原理詳解

    RocketMQ?Namesrv架構(gòu)工作原理詳解

    這篇文章主要為大家介紹了RocketMQ?Namesrv架構(gòu)工作原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • SpringBoot中的@Component注解源碼

    SpringBoot中的@Component注解源碼

    在SpringBoot中,@Component注解用于標(biāo)識(shí)一個(gè)類為Bean,并由Spring進(jìn)行管理,它需要配合@ComponentScan注解使用,后者負(fù)責(zé)掃描包含@Component的類,并進(jìn)行自動(dòng)裝配,本文給大家介紹SpringBoot中的@Component注解源碼,感興趣的朋友一起看看吧
    2024-01-01
  • java如何獲取request中json數(shù)據(jù)

    java如何獲取request中json數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于java如何獲取request中json數(shù)據(jù)的相關(guān)資料,文中通過(guò)代碼示例以及圖文將獲取的方法介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java多維數(shù)組和Arrays類方法總結(jié)詳解

    Java多維數(shù)組和Arrays類方法總結(jié)詳解

    這篇文章主要介紹了Java多維數(shù)組和Arrays類方法總結(jié)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java中集合和數(shù)組的排序方式小結(jié)

    Java中集合和數(shù)組的排序方式小結(jié)

    這篇文章主要介紹了Java中集合和數(shù)組的排序方式小結(jié),本文講解了對(duì)數(shù)字?jǐn)?shù)組、字符數(shù)組排序以及集合序列的排序,需要的朋友可以參考下
    2015-01-01
  • Spring?MVC請(qǐng)求處理流程和九大組件詳解

    Spring?MVC請(qǐng)求處理流程和九大組件詳解

    這篇文章主要介紹了Spring?MVC請(qǐng)求處理流程和九大組件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • Mybatis執(zhí)行SQL命令的流程分析

    Mybatis執(zhí)行SQL命令的流程分析

    這篇文章主要介紹了Mybatis執(zhí)行SQL命令的流程分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Spring之SseEmitter實(shí)現(xiàn)讓你的進(jìn)度條實(shí)時(shí)更新

    Spring之SseEmitter實(shí)現(xiàn)讓你的進(jìn)度條實(shí)時(shí)更新

    Spring SseEmitter是一種實(shí)現(xiàn)服務(wù)器端推送事件(SSE)的機(jī)制,支持單向通信,適用于實(shí)時(shí)數(shù)據(jù)傳輸需求,通過(guò)代碼示例和應(yīng)用場(chǎng)景分析,展示了如何在服務(wù)端和客戶端使用SseEmitter進(jìn)行實(shí)時(shí)數(shù)據(jù)推送
    2025-02-02
  • Java中正則表達(dá)式匹配過(guò)程實(shí)例詳解

    Java中正則表達(dá)式匹配過(guò)程實(shí)例詳解

    正則匹配即是在給定字符串中查找符合正則表達(dá)式的字符,下面這篇文章主要給大家介紹了關(guān)于Java中正則表達(dá)式匹配過(guò)程的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10

最新評(píng)論

满洲里市| 天全县| 桦南县| 阿坝| 高雄县| 新安县| 赫章县| 三穗县| 郸城县| 马鞍山市| 津市市| 肃宁县| 胶州市| 江达县| 平谷区| 武义县| 昭平县| 沂源县| 集贤县| 佳木斯市| 济南市| 浦城县| 休宁县| 高州市| 吉隆县| 潢川县| 凤凰县| 漾濞| 鄯善县| 聂拉木县| 卢湾区| 鲁甸县| 阜城县| 黄冈市| 南平市| 天水市| 博乐市| 扶沟县| 平南县| 东宁县| 穆棱市|