熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Spring中DI設置器注入

2013-11-23 20:12:10  來源: Java開源技術 

  Java的反射機制可以說是在Spring中發揮的淋漓盡致下面要看的代碼就是通過反射機制來實現向一個類注入其實際依賴的類型這個過程的實現會交由Spring容器來幫我們完成

  JavaBean中針對屬性一般都有一組設置/獲取方法(setXXX/getXXX)這兩個方法可以由IDE給我們自動產生當然你也可以手動進行編寫這是你的自由下面的例子就是Spring中利用setter方法來實現依賴注入

  源代碼如下

  package compp;

  //一個普通的JavaBean

  public class Person {

  //人的名字

  private String S_name;

  private String S_addr;

  private int age;

  //getter方法

  public int getS_Age() {

  return age;

  }

  //setter方法

  public void setS_Age(int age) {

  thisage = age;

  }

  //setter方法

  public String getaddr() {

  return S_addr;

  }

  //getter方法

  public void setaddr(String addr) {

  S_addr = addr;

  }

  //構造函數

  public Person(){}

  //getter方法

  public String getName() {

  return S_name;

  }

  //setter方法

  public void setName(String name) {

  S_name = name;

  };

  }

  <?xml version= encoding=UTF?>

  <beans

  xmlns=/schema/beans

  xmlns:xsi=//XMLSchemainstance

  xmlns:p=/schema/p

  xsi:schemaLocation=/schema/beans /schema/beans/springbeansxsd>

  <bean id=sentence class=comppSentence/>

  <bean id=person class=comppPerson>

  <! 從這裡可以看出的是屬性名是setter方法裡去掉set的部分即setXXX中的XXX而與具體的屬性無關 >

  <property name=name value=pptest></property>

  <! 這裡你完全可以把setaddr裡的參數改成setaddr(String name)並不會報錯因為判斷的依據是setXXX即XXX >

  <! 但如果你改成setS_addr這裡就要錯了不信你可以試如果改成setS_addr則下面的name需要改成S_addr >

  <property name=addr value=Beijing></property>

  <! 這裡就是上面的一個例子類的屬性名為age但這裡的name卻為S_Age >

  <! 同時這裡也要說明的一個問題是類裡面為int但這裡卻是字符串類型這個你不用擔心Spring在進行注入時會自動根據參數的類型進行類型 的轉化 >

  <property name=S_Age value=></property>

  </bean>

  </beans>


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28110.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.