DI依赖注入环境

发布时间 2023-05-08 11:59:08作者: YE-

我还是在跟着狂神来学习Spring5

1.构造器注入
2.Set方式注入【重点】
3.扩展方式注入

我在这里记录一下set依赖注入的步骤吧

Set方式注入:
分为依赖:bean对象的创建依赖于容器 注入:bean对象中的所有属性,由容器来注入

先放一下目录结构吧

第一步:配置好实体类

首先写了一些不同类型的实体类

第二步,各种方式的注入这是重点

直接放代码吧,具体注释都在里面

<?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="address" class="org.example.pojo.Address">
        <property name="address" value="河北石家庄"></property>
    </bean>
    <bean id="student" class="org.example.pojo.Student">
        <!--第一种,普通值注入:value-->
        <property name="name" value="yezhaoxin"></property>

        <!--第二种,Bean注入:ref-->
        <property name="address" ref="address"></property>
        <!--第三种,数组注入:方式1.array-->
        <property name="books">
            <array>
                <value>1.数组注入</value>
                <value>2.通过array</value>
                <value>3.String[] books</value>
            </array>
        </property>
        <!--第三种,数组注入:方式2.list-->
        <property name="hobbys">
            <list>
                <value>1.数组注入方式2</value>
                <value>2.通过list</value>
                <value><!--3.List<String> hobbys--></value>
            </list>
        </property>

        <!--第三种,数组注入:方式3: Map-->
        <property name="card">
            <map>
                <entry key="身份证" value="411525"></entry>
                <entry key="银行卡" value="123456"></entry>
            </map>
        </property>

        <!--第三种,数组注入:方式4: Set-->
        <property name="game">
            <set>
                <value>1.数组注入方式4</value>
                <value>2.通过Set</value>
                <value><!--3.Set<String> game--></value>
            </set>
        </property>

        <!--第四种,空值注入-->
        <property name="wife">
            <null/>
        </property>

        <!--特殊类型注入-->
        <property name="info">
            <props>
                <prop key="学号">20213709</prop>
                <prop key="性别">男</prop>
                <prop key="姓名">小叶</prop>
            </props>
        </property>


    </bean>

</beans>

第三步,书写测试类输出所有信息

测试结果

PS.遇到的问题

数组定义的books

但是不能使用,输出时出现这种情况

检查了一下,发现定义实体类的时候返回值出现了问题
将原本的返回这books,修改成下面图片的形式就可以了

不知道这是不是强制转换