天天看點

Spring對Bean屬性指派(注入)

第一種:通過構造方法設定值

第二種:設定注入(通過set方法)

1. 如果屬性是基本資料類型或String。

private int id;
 private String name;
           

通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="id" value="1"></property>
  <property name="name" value="張三"></property>
 </bean>
           

等效于:

<bean id="peo" class="com.bean.People">
  <property name="id">
   <value>1</value>
  </property>
  <property name="name">
   <value>張三</value>
  </property>
 </bean>
           

2、如果屬性是Set類型

private int id;
 private String name;
 private Set<String> sets;
           

通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="id">
   <value>1</value>
  </property>
  <property name="name">
   <value>張三</value>
  </property>
  <property name="sets">
   <set>
    <value>1</value>
    <value>2</value>
    <value>3</value>
    <value>4</value>
   </set>
  </property>
 </bean>
           

輸出結果為:

Spring對Bean屬性指派(注入)

3、如果屬性是List類型

如果list中值有多個值,通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
<property name="list">
   <list>
    <value>1</value>
    <value>2</value>
   </list>
  </property>
 </bean>
           
輸出結果為:list=[1,2]

如果list中值有一個值,通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="list" value="1">
  </property>
 </bean>
           
輸出結果為:list=[1]

4、如果屬性是數組類型

如果數組中值有多個值,通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="strs">
   <array>
    <value>1</value>
    <value>2</value>
    <value>3</value>
    <value>4</value>
   </array>
  </property>
 </bean>
           
輸出結果:strs=[1, 2, 3, 4]

如果數組中值有一個值,通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="strs" value="1">
  </property>
 </bean>
           
輸出結果:strs=[1]

5、如果屬性是Map類型

通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="map">
   <map>
    <entry key="a" value="b"></entry>
    <entry key="c" value="d"></entry>
   </map>
  </property>
 </bean>
           
輸出結果:map={a=b, c=d}

6、如果屬性是properties類型

如果有個檔案為demo.properties,裡面内容為a=b;鍵值對

通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="demo">
   <props>
    <prop key="a">b</prop>
   </props>
  </property>
 </bean>
           

7、如果屬性是對象類型

除People類另外設定一個Desk類。

Desk類:

private int id;
 private double price;
           

如果People類需要依賴Desk類對象(依賴注入)

通過以下方式給對象屬性指派:

<bean id="peo" class="com.bean.People">
  <property name="desk" ref="desk1" ></property>
 </bean>
 <bean id="desk1" class="com.bean.Desk">
  <property name="id">
   <value>1</value>
  </property>
  <property name="price">
   <value>20</value>
  </property>
 </bean>
           
輸出結果:desk=Desk [id=1, price=20.0]