5.Spring屬性注入-DI

給 Bean 的屬性賦值(注入)

  1. 通過構造方法設置值.
  2. 設置注入(通過 set 方法)
<!-- 1. 如果屬性是基本數據類型或 String 等簡單 -->
<bean id="peo" class="com.buendia.entity.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. 如果屬性是 Set<?>  -->
<property name="sets"> 
    <set> 
        <value>1</value>
        <value>2</value> 
        <value>3</value> 
        <value>4</value> 
    </set> 
</property>

<!-- 3. 如果屬性是 List<?>   -->
<property name="list"> 
    <list> 
        <value>1</value> 
        <value>2</value> 
        <value>3</value> 
    </list> 
</property>
	<!-- 如果 list 中就只有一個值 -->
<property name="list" value="1"> </property>

<!-- 4. 如果屬性是數組 -->
	<!-- 如果數組中就只有一個值,可以直接通過 value 屬性賦值  -->
<property name="strs" > 
    <array> 
        <value>1</value> 
        <value>2</value>
        <value>3</value> 
    </array> 
</property>

<!-- 5. 如果屬性是 map   -->
<property name="map"> 
    <map> 
        <entry key="a" value="b" > </entry> 
        <entry key="c" value="d" > </entry> 
    </map> 
</property>

<!-- 6. 如果屬性 Properties 類型  -->
<property name="demo"> 
    <props> 
        <prop key="key">value</prop> 
        <prop key="key1">value1</prop> 
    </props> 
</property>

<!-- 7. 如果想給屬性賦值爲"" -->
<property name="ugly" value=""></property>

<!-- 8. 如果想給屬性賦值null -->
<property name="ugly">
	<null/>
</property>

DI

  1. DI:中文名稱:依賴注入
  2. 英文名稱: (Dependency Injection)
  3. DI 是什麼?
    1. DI 和 IoC 是一樣的
    2. 當一個類(A)中需要依賴另一個類()對象時,把 B 賦值給 A 的過程就叫做依賴注入
  4. 代碼體現:
<bean id="peo" class="com.bjsxt.pojo.People"> 
    <property name="desk" ref="desk"></property> 
</bean>
<bean id="desk" class="com.bjsxt.pojo.Desk"> 
    <property name="id" value="1"></property> 
    <property name="price" value="12"></property> 
</bean>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章