IOC容器 - Bean管理XML方式注入集合类型属性

IOC容器 - Bean管理XML方式

1.注入数组类型属性
2.注入List集合类型属性
3.注入Map集合类型属性
4.注入Set集合类型属性

5.在集合里面设置对象类型值
6.把集合注入部分提取出来

1 - - -> 4
  (1) 创建类,定义数组、list、map、set等类型属性生成对应set方法,创建Course类,并生成set方法

public class Stu {
    //1.数组类型属性
    private String[] courses;
    //2.list集合类型属性
    private List<String> list;
    //3.map集合类型属性
    private Map<String,String> maps;
    //4.set集合类型属性
    private Set<String> sets;
    //学生所学课程
    private List<Course> courselists;

    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 setCourselists(List<Course> courselists) {
        this.courselists = courselists;
    }

  (2) 在spring配置文件中进行配置

<?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="stu" class="com.aiguigu.Spring5.collectiontype.Stu">
        <property name="courses">
            <array>
                <value>Java</value>
                <value>PHP</value>
                <value>JS</value>
            </array>
        </property>
        <!-- list类型属性注入 -->
        <property name="list">
            <list>
                <value>Lee</value>
                <value>Ryan</value>
                <value>Yoga</value>
            </list>
        </property>
        <!-- map类型属性注入 -->
        <property name="maps">
            <map>
                <entry key="MysqL" value="MysqL"></entry>
                <entry key="JS" value="js"></entry>
                <entry key="Java" value="java"></entry>
            </map>
        </property>
        <!-- set类型属性注入 -->
        <property name="sets">
            <set>
                <value>Set</value>
            </set>
        </property>

        <!-- 注入list集合类型,值是对象 -->
        <property name="courselists">
            <list>
                <ref bean="course1"></ref>
                <ref bean="course2"></ref>
            </list>
        </property>
    </bean>
    <!--创建多个Course对象   -->
    <bean id="course1" class="com.aiguigu.Spring5.collectiontype.Course">
        <property name="coursename" value="Spring5框架"></property>
    </bean>
    <bean id="course2" class="com.aiguigu.Spring5.collectiontype.Course">
        <property name="coursename" value="MyBatis框架"></property>
    </bean>
</beans>

(Test类就不放代码了)运行结果如下:

在这里插入图片描述



5 - - - > 6   (先创建Book类,定义List集合,set方法)
  (1)在Spring配置文件中引入名称空间 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">
<!--        将list集合类型属性注入-->
    <util:list id="bookList">
        <value>MVC</value>
        <value>Boot</value>
        <value>Cloud</value>

    </util:list>

  (2)使用util标签完成list集合注入提取

<!--        将list集合类型属性注入使用-->
    <bean id="book" class="com.aiguigu.Spring5.collectiontype.Book">
        <property name="list" ref="bookList"></property>
    </bean>

运行结果如下

在这里插入图片描述5 - - -> 6

自我感觉这个就是了搞了个list集合往里面注入属性,这个list集合谁用谁拿(根据ref)
再直白点:“空壳”注入“实心” util里面的是实心,bean里面是空心的…2333

这些只是本人学习过程阶段的思考,仅供参考,如有错误,欢迎在评论区指出!

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念