Spring的属性注入和DI (依赖注入)

        DI(依赖注入)是IoC(控制反转)思想的一种体现,也是由Spring容器进行创建和注入。

依赖注入:可以让我们创建对象的时候,给引用类型数据同时赋值;

IoC的优点:

            将对象和对象之间的依赖进行解耦。

如何给Bean的属性赋值(注入)

在applicationcontext.xml中

1.通过构造方法设置值.

2.设置注入(通过set方法)

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

    <bean id="peo" class="com.mzx.pojo.People">

               <property name="id" value="222"></property>

                <property name="name" value="张三"></property>

    </bean>

2.1.1 等效于

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

    </bean>

 2.2 如果属性是Set<?>

    <property name="sets">

             <set>

               <value>1</value>

               <value>2</value>

               <value>3</value>

            </set>

    </property>

2.3 如果属性是List<?>

    <property name="list">

           <list>

                  <value>1</value>

                  <value>2</value>

           </list>

    </property>

        2.3.1 如果list中就只有一个值

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

    </property>

 2.4 如果属性是数组

               2.4.1 如果数组中就只有一个值,可以直接通过value属性赋值

<property name="strs" >

             <array>

                     <value>1</value>

                      <value>2</value>

              </array>

 </property>

  2.5 如果属性是map

   <property name="map">

               <map>

                      <entry key="a" value="b" >

                      </entry>

                      <entry key="c" value="d" >

                       </entry>

               </map>

    </property>

  2.6 如果属性Properties类型

    <property name="demo">

    <props>

    <prop key="key">value</prop>

    <prop key="key1">value1</prop>

    </props>

    </property>

依赖注入DI(Dependency Injection)

1. DI是什么?

     DIIoC是一样的, 当一个类(A)中需要依赖另一个类(B)对象时,B赋值给A的过程就叫做依赖注入.

2.代码体现:

   <bean id="peo" class="com.mzx.pojo.People">

          <property  name="desk"  ref="desk"></property>

    </bean>

    

    <bean id="desk" class="com.mzx.pojo.Desk">

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

         <property  name="price"  value="12"></property>

    </bean>


木子璇总结时刻:欢迎小伙伴们提出建议哦,如有错误,望大神指出哦,谢谢啦。

猜你喜欢

转载自blog.csdn.net/qq_41617744/article/details/80255292