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

Spring?IOC容器Bean管理XML注入集合類型屬性

 更新時間:2022年05月30日 16:48:57   作者:把蘋果咬哭的測試筆記  
這篇文章主要為大家介紹了Spring?IOC容器Bean管理XML注入集合類型屬性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、定義數(shù)組、list、map、set類型屬性

創(chuàng)建類、定義數(shù)組、list、map、set類型屬性,生成對應(yīng)set方法。

package com.pingguo.spring5.collectiontype;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Student {
    // 1. 數(shù)組類型的屬性
    private String[] courses;
    // 2. list集合類型屬性
    private List<String> list;
    // 3. map集合類型屬性
    private Map<String, String> maps;
    // 4. set集合類型屬性
    private Set<String> sets;
    public void setCourses(String[] courses) {
        this.courses = courses;
    }
    public void setList(List<String> list) {
        this.list = list;
    }
    public void setMaps(Map<String, String> maps) {
        this.maps = maps;
    }
    public void setSets(Set<String> sets) {
        this.sets = sets;
    }
    public void test() {
        System.out.println(Arrays.toString(courses));
        System.out.println(list);
        System.out.println(maps);
        System.out.println(sets);
    }
}

二、配置文件中進行對應(yīng)配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--集合類型屬性的注入-->
    <bean id="student" class="com.pingguo.spring5.collectiontype.Student">
        <!--數(shù)組類型的注入-->
        <property name="courses">
            <array>
                <value>java開發(fā)課程</value>
                <value>數(shù)據(jù)庫課程</value>
            </array>
        </property>
        <!--list類型的注入-->
        <property name="list">
            <list>
                <value>大周</value>
                <value>小毛</value>
            </list>
        </property>
        <!--map類型的注入-->
        <property name="maps">
            <map>
                <entry key="班長" value="胖洪"></entry>
                <entry key="采購" value="大周"></entry>
            </map>
        </property>
        <!--set類型的注入-->
        <property name="sets">
            <set>
                <value>帥胡</value>
                <value>小姜</value>
            </set>
        </property>
    </bean>
</beans>

寫一個測試類,方便測試。

package com.pingguo.spring5.testdemo;
import com.pingguo.spring5.collectiontype.Student;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestSpring5Demo2 {
    @Test
    public void testCollection() {
        ApplicationContext context =
                new ClassPathXmlApplicationContext("bean1.xml");
        Student student = context.getBean("student", Student.class);
        student.test();
    }
}

運行測試結(jié)果

[java開發(fā)課程, 數(shù)據(jù)庫課程]
[大周, 小毛]
{班長=胖洪, 采購=大周}
[帥胡, 小姜]
Process finished with exit code 0

三、注入對象集合類型

在上面集合里的內(nèi)容都是用的 String,如果現(xiàn)在里面是對象,要如何注入?

ok,現(xiàn)在新增一個類 Course:

package com.pingguo.spring5.collectiontype;
public class Course {
    private String course_name;
    public void setCourse_name(String course_name) {
        this.course_name = course_name;
    }
    @Override
    public String toString() {
        return "Course{" +
                "course_name='" + course_name + '\'' +
                '}';
    }
}

接下來,在 Student 類里,加上這個 Course 對象屬性,并且生成對應(yīng)的 set 方法:

... ...
public class Student {
... ...
    // 5. 學(xué)生所學(xué)多門課程
    private  List<Course> courseList;
    public void setCourseList(List<Course> courseList) {
        this.courseList = courseList;
    }
... ...
    public void test() {
        System.out.println(Arrays.toString(courses));
        System.out.println(list);
        System.out.println(maps);
        System.out.println(sets);
        System.out.println(courseList);
    }
}

操作配置文件。

在配置文件中可以新增多個 course 對象。

<!--創(chuàng)建多個 Course 對象-->
    <bean id="course1" class="com.pingguo.spring5.collectiontype.Course">
        <property name="course_name" value="胡氏面點課"></property>
    </bean>
    <bean id="course2" class="com.pingguo.spring5.collectiontype.Course">
        <property name="course_name" value="毛氏面點課"></property>
    </bean>

然后在 注入的時候使用 ref 標(biāo)簽。

<!--注入list類型,值是對象-->
    <property name="courseList">
        <list>
            <ref bean="course1"></ref>
            <ref bean="course2"></ref>
        </list>
    </property>

OK,現(xiàn)在運行測試類,看下結(jié)果:

[java開發(fā)課程, 數(shù)據(jù)庫課程]
[大周, 小毛]
{班長=胖洪, 采購=大周}
[帥胡, 小姜]
[Course{course_name='胡氏面點課'}, Course{course_name='毛氏面點課'}]

注入成功。

四、提取注入集合的部分

上面集合注入的地方,當(dāng)有多個值的時候感覺還是比較麻煩的,如果可以把這部分提取出來就更好了。

<property name="courseList">
        <list>
            <ref bean="course1"></ref>
            <ref bean="course2"></ref>
        </list>
    </property>

現(xiàn)在新建一個類 Book 來演示:

package com.pingguo.spring5.collectiontype;
import java.util.List;
public class Book {
    private List<String> list;
    public void setList(List<String> list) {
        this.list = list;
    }
    public void test() {
        System.out.println(list);
    }
}

1. 引入名稱空間 util

為了方便,新建一個 bean2.xml,在里面先引入名稱空間 util。

<?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:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
</beans>

增加的地方:

2. 使用 util 標(biāo)簽完成集合注入的提取

以提取 list 集合為例。

<!--提取 list 集合類型屬性注入-->
    <util:list id="bookList">
        <value>mysql是怎樣運行的</value>
        <value>大數(shù)據(jù)測試</value>
        <value>谷歌的軟件測試之道</value>
    </util:list>

然后,使用提取出來的集合,使用 ref 屬性。

<bean id="book" class="com.pingguo.spring5.collectiontype.Book">
        <property name="list" ref="bookList"></property>
    </bean>

測試一下,新建一個測試方法 testCollection2() 。

@Test
    public void testCollection2() {
        ApplicationContext context =
                new ClassPathXmlApplicationContext("bean2.xml");
        Book book = context.getBean("book", Book.class);
        book.test();
    }

運行測試方法:

[mysql是怎樣運行的, 大數(shù)據(jù)測試, 谷歌的軟件測試之道]
Process finished with exit code 0

注入成功。

以上就是Spring IOC容器Bean管理XML注入集合類型屬性的詳細(xì)內(nèi)容,更多關(guān)于Spring IOC Bean注入XML集合的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 深入學(xué)習(xí)java位運算的基礎(chǔ)知識

    深入學(xué)習(xí)java位運算的基礎(chǔ)知識

    位運算是直接對整數(shù)在內(nèi)存中的二進制位進行操作嗎,位運算即可以節(jié)約內(nèi)存,同時使程序速度更快效率更高。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面我們來一起學(xué)習(xí)下吧
    2019-06-06
  • IDEA 端口占用的解決方法(推薦)

    IDEA 端口占用的解決方法(推薦)

    這篇文章主要介紹了IDEA 端口占用的解決方法,本文通過兩種方法給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • java的Jackson框架實現(xiàn)輕易轉(zhuǎn)換JSON

    java的Jackson框架實現(xiàn)輕易轉(zhuǎn)換JSON

    本篇文章主要介紹了java的Jackson框架實現(xiàn)輕易轉(zhuǎn)換JSON,Jackson將Java對象轉(zhuǎn)換成json對象和xml文檔,同樣也可以將json、xml轉(zhuǎn)換成Java對象,有興趣的可以了解一下。
    2017-02-02
  • Spring框架事務(wù)屬性中事務(wù)隔離級別與傳播行為全面講解

    Spring框架事務(wù)屬性中事務(wù)隔離級別與傳播行為全面講解

    這篇文章主要介紹了Spring框架聲明式事務(wù)的事務(wù)隔離級別和事務(wù)傳播行為,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-11-11
  • 使用spring@value加載時機

    使用spring@value加載時機

    這篇文章主要介紹了使用spring@value加載時機方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 老生常談Java動態(tài)編譯(必看篇)

    老生常談Java動態(tài)編譯(必看篇)

    下面小編就為大家?guī)硪黄仙U凧ava動態(tài)編譯(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot應(yīng)用剛啟動時服務(wù)報大量超時的問題及解決

    SpringBoot應(yīng)用剛啟動時服務(wù)報大量超時的問題及解決

    在Java項目上線過程中,經(jīng)常遇到的超時問題主要是由于JVM的JIT編譯導(dǎo)致,JIT(Just-In-Time)編譯是Java虛擬機的一項技術(shù),用于提高Java應(yīng)用的性能,它通過將熱點代碼(頻繁執(zhí)行的部分)轉(zhuǎn)換成本地機器碼來優(yōu)化執(zhí)行效率
    2024-11-11
  • SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口

    SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口

    接口限流是為了保護系統(tǒng)和服務(wù),防止因為過多的請求而崩潰,本文主要介紹了SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Springboot MDC+logback實現(xiàn)日志追蹤的方法

    Springboot MDC+logback實現(xiàn)日志追蹤的方法

    MDC(Mapped Diagnostic Contexts)映射診斷上下文,該特征是logback提供的一種方便在多線程條件下的記錄日志的功能,這篇文章主要介紹了Springboot MDC+logback實現(xiàn)日志追蹤的方法,需要的朋友可以參考下
    2024-04-04
  • JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解

    JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解

    這篇文章主要介紹了JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評論

格尔木市| 华阴市| 海林市| 安乡县| 深圳市| 屯昌县| 岑溪市| 中方县| 普陀区| 碌曲县| 盐亭县| 禹州市| 会昌县| 泰兴市| 莆田市| 巴彦淖尔市| 霸州市| 仙桃市| 平乡县| 萨嘎县| 九江市| 上思县| 城口县| 静海县| 孟连| 灵璧县| 峨眉山市| 博客| 营口市| 进贤县| 雷州市| 江口县| 岗巴县| 连江县| 丰镇市| 望奎县| 泽州县| 自治县| 民权县| 吴忠市| 临安市|