spring学习 五 依赖注入的方式

Posted 阿瞒123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring学习 五 依赖注入的方式相关的知识,希望对你有一定的参考价值。

依赖注入有两种方式:

1 构造注入,如果<bean>标签下使用<contructor-arg>,则是构造注入

2 setter注入,就是调用setter方法注入,如果<bean>标签下使用<property>标签,就是setter注入

  2.1: 如果属性是基本数据类型或 String 等简单类型

<bean id="peo" class="com.bjsxt.pojo.People">
    <property name="id" value="222"></property>
    <property name="name" value=" 张三 "></property>
</bean>

上面的写法等效于下面

<bean id="peo" class="com.bjsxt.pojo.People">
    <property name="id">
        <value>456</value>
    </property>
    <property name="name">
        <value>zhangsan</value>
    </property>
</bean>    

  2.2 复杂类型的注入

    2.2.1 集合类型的数组set<?>,问号代表泛型

<property name="sets">
    <set>
        <value>1</value>
        <value>2</value>
        <value>3</value>
        <value>4</value>
    </set>
</property>    

  2.2.2 列表的注入 List<?>

<property name="list">
    <list>
        <value>1</value>
        <value>2</value>
        <value>3</value>
    </list>
</property>

如果List<?>的元素是对象

则如下:

            <property name="aList">
                <list>
                    <ref bean="a"/>
                </list>
            </property>    

如果list中只有一个值

<property name="list" value="1">
</property>

  2.2.3 注入的类型为数组 ,如果数组中就只有一个值,可以直接通过 value 属性赋值,同理如果数组元素为对象,<array>标签下用<ref>标签

<property name="strs" >
    <array>
        <value>1</value>
        <value>2</value>
        <value>3</value>
    </array>
</property>

  2.2.4 如果注入的数据类型为Map ,

<property name="map">
    <map>
        <entry key="a" value="b" > </entry>
       
        <entry key="c" value="d" ></entry>

    </map>
</property>    

如果值是对象,则如下

            <property name="map">
                <map >
                    <entry key="" value-ref=""></entry>
                </map>
            </property>    

<entry> 标签中有,key,key-ref, value,value-ref等属性

 

  2.4.5  如果属性 Properties 类型

<property name="demo">
    <props>
        <prop key="key">value</prop>
        <prop key="key1">value1</prop>
    </props>
</property>

 

以上是关于spring学习 五 依赖注入的方式的主要内容,如果未能解决你的问题,请参考以下文章

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

Java Spring学习笔记----Bean的依赖注入

Spring框架学习教程,详解Spring注入bean的几种方式

学习笔记——Spring底层IOC实现;Spring依赖注入数值问题;Spring依赖注入方式

spring中的依赖注入有啥用?

学习spring容器IOC之依赖和依赖注入