1. 程式人生 > >Spring中如何給物件的屬性賦值

Spring中如何給物件的屬性賦值

  1) 通過建構函式

2) 通過set方法給屬性注入值

3) p名稱空間

         4)自動裝配(瞭解)

         5)註解

    下面是bean.xml檔案中的關鍵程式碼

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <beansxmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xmlns:p="http://www.springframework.org/schema/p"
  5.        xmlns:context="http://www.springframework.org/schema/context"
  6.        xsi:schemaLocation="  
  7.         http://www.springframework.org/schema/beans  
  8.         http://www.springframework.org/schema/beans/spring-beans.xsd  
  9.         http://www.springframework.org/schema/context  
  10.         http://www.springframework.org/schema/context/spring-context.xsd">
  11.      <!-- ###############物件屬性賦值############### -->
  12.      <!--  1) 通過建構函式 -->
  13.      <beanid="user1"class="cn.itcast.c_property.User"scope="prototype">
  14.          <constructor-argvalue="100"></constructor-arg>
  15.          <constructor-argvalue="Tom"></constructor-arg>
  16.      </
    bean>
  17.      <!-- 2) 通過set方法給屬性注入值 -->
  18.      <beanid="user"class="cn.itcast.c_property.User"scope="prototype">
  19.          <propertyname="id"value="101"></property>
  20.          <propertyname="name"value="jack1"></property>
  21.      </bean>
  22.      <!--   
  23.         案例:  
  24.             action/service/dao  
  25.      -->
  26.      <!-- dao instance -->
  27.     <beanid="userDao"class="cn.itcast.c_property.UserDao"></bean>
  28.     <!-- service instance -->
  29.     <beanid="userService"class="cn.itcast.c_property.UserService">
  30.         <propertyname="userDao"ref="userDao"></property>
  31.     </bean>
  32.     <!-- action instance -->
  33.     <beanid="userAction1"class="cn.itcast.c_property.UserAction">
  34.         <propertyname="userService"ref="userService"></property>
  35.     </bean>
  36.      <!-- ##############內部bean############## -->
  37.     <beanid="userAction2"class="cn.itcast.c_property.UserAction">
  38.         <propertyname="userService">
  39.             <beanclass="cn.itcast.c_property.UserService">
  40.                 <propertyname="userDao">
  41.                     <beanclass="cn.itcast.c_property.UserDao"></bean>
  42.                 </property>
  43.             </bean>
  44.         </property>
  45.     </bean>
  46.      <!--   
  47.         給物件屬性注入值:  
  48.             # p 名稱空間給物件的屬性注入值  
  49.              (spring3.0以上版本才支援)  
  50.      -->
  51. </beans>

p 名稱空間注入屬性值 (優化)

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <beansxmlns="http://www.springframework.org/schema/beans"
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xmlns:p="http://www.springframework.org/schema/p"
  5.     xmlns:context="http://www.springframework.org/schema/context"
  6.     xsi:schemaLocation="  
  7.         http://www.springframework.org/schema/beans  
  8.         http://www.springframework.org/schema/beans/spring-beans.xsd  
  9.         http://www.springframework.org/schema/context  
  10.         http://www.springframework.org/schema/context/spring-context.xsd">
  11.     <!-- ###############物件屬性賦值############### -->
  12.     <!--   
  13.         給物件屬性注入值:  
  14.             # p 名稱空間給物件的屬性注入值  
  15.              (spring3.0以上版本才支援)  
  16.      -->
  17.      <beanid="userDao"class="cn.itcast.c_property.UserDao"></bean>
  18.      <beanid="userService"class="cn.itcast.c_property.UserService"p:userDao-ref="userDao"></bean>
  19.      <beanid="userAction"class="cn.itcast.c_property.UserAction"p:userService-ref="userService"></bean>
  20.     <!-- 傳統的注入:   
  21.      <beanid="user"class="cn.itcast.c_property.User">
  22.         <propertyname="name"value="xxx"></property>
  23.      </bean>
  24.     -->
  25.     <!-- p名稱空間優化後 -->
  26.     <beanid="user"class="cn.itcast.c_property.User"p:name="Jack0001"></bean>
  27. </beans>


0