DI(依赖注入)

2018-06-05  本文已影响7人  pure_joy

DI(依赖注入):给属性赋值

提供了(XML)两种方法给属性赋值:1、setter 2、构造方法

一、setter

property就是一个bean的属性,name就是用来描述属性的名称,value就是值;如果是一般类 型(基本类型和String)就用value赋值;如果是引用类型,就不能用value赋值,而是spring容器内部创建的student对象给person的student对象赋值了,使用ref

1、<property name="person" ref="student"></property>
2、<property name="person">
            <ref bean="student"/>
      </property>

注意:集合list,在spring中给属性赋值叫装配

//list
<property name="lists">
     <list>
          <value>list1</value>
          <value>list2</value>
    </list>
</property>

//map
<property name="map">
  <map>
      <entry>
          <value>map1</value>
      </entry>
      <entry>
           <ref bean="student"/>
      </entry>
  </map>
</property>

//properties
<property name="properties">
    <props>
        <prop key="p1">prop1</prop>
        <prop key="p2">prop2</prop>
    </props>
</property>

//objects
<property name="objects">
    <list>
        <value>obj1</value>
        <ref bean="student"/>
    </list>
</property>
IOC和DI结合的真正意义:Java代码端完全面向接口编程

二、构造方法

constructor-arg指的是构造器中的参数
index角标从0开始
value如果是一般类型就用value赋值
ref引用类型赋值

<bean id="person"  class="...">
    <constructor-ags index="0" value="abc"/>
    <constructor-ags index="1" ref="student"/>
</bean>
<bean id="student" class="..."/>
上一篇 下一篇

猜你喜欢

热点阅读