Spring的依赖注入的几种方式(2)

开发工具与关键技术:eclipse

作者:Mr_恺

撰写时间:2021.1.18

Spring的依赖注入的几种方式(1),通过构造函数注入和set方法注入演示了基本类型和String类型和其他的bean类型的注入,还有一个复杂类型(集合类型)和一个扩展p名称空间的注入演示。

 创建一个java项目,把用到的包和类创建好:

  1. 复杂类型的注入用到的实现类

  1. p名称空间注入用到的实现类

把Spring的jar包引进来:

创建一个xml文件并命名为bean.xml,导入Spring的约束

 导入spring的约束springIoC约束:beans

<beans xmlns="http://www.springframework.org/schema/beans"

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

    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">

注意:p名称空间注入,用到的

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

p名称空间注入复杂类型的注入采用的是set的注入方法

  1. 使用p名称空间注入 它的本质仍然是需要类中提供set方法,同时在配置文件中导入p名称空间

<bean id="accountService3"

class="com.itheima.service.impl.AccountServiceImpl3" p:name="张三">

</bean>

   2.复杂类型的注入:注入的方式我们采用set方法,注入的类型都是集合类型 结构相同,标签可以互换。

<bean id="accountService4" class="com.itheima.service.impl.AccountServiceImpl4">

        <!-- 给数组注入数据 -->

        <property name="myStrs">

            <array>

                <value>AAA</value>

                <value>BBB</value>

                <value>CCC</value>

            </array>

        </property>

        <!-- list注入数据 -->

        <property name="myList">

            <list>

                <value>AAA</value>

                <value>BBB</value>

                <value>CCC</value>

            </list>

        </property>

        <!-- set集合注入数据 -->

        <property name="mySet">

            <list>

                <value>AAA</value>

                <value>BBB</value>

                <value>CCC</value>

            </list>

        </property>

        <!-- map集合注入数据 -->

        <property name="myMap">

            <props>

                <prop key="testC">CCC</prop>

                <prop key="testD">DDD</prop>

            </props>

        </property>

        <!-- properties注入数据 -->

        <property name="myProps">   

                <map>

                    <entry key="testA" value="555"></entry>

                    <entry key="testB">

                        <value>555</value>

                    </entry>

                </map>         

        </property>

    </bean>

我这里map集合注入数据和properties注入数据标签互换了,证明对我们注入的数据是

没有影响的,是一样可以注入的,前提:注入的类型都是集合类型 结构相同,标签可以互换。

创建一个类模拟表现层运行,根据beanid获取对象,调用注入方法:

  1. 注入结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值