property和constructor-arg的
阿新 • • 發佈:2019-01-11
由於好久沒去看spring的東西,以前的知道差不多都忘記了,今天重新學習一下如何使用,以後在慢慢的一個一個知識點的深究。我發現學過的東西還是要記錄下來,否則以後又要重新找資料。純屬個人學習筆記。
一:依賴注入的方式
constructor-arg:通過建構函式注入。
property:通過setxx方法注入。
二:constructor-arg的簡單使用
java程式碼
Java程式碼
xml配置檔案
Java程式碼
最後一個引數ifMarried是一個boolean型別的引數,在配置的時候可以是true/false或者0/1;
二:property的簡單使用
java程式碼:
Java程式碼
xml配置檔案:
Java程式碼
在這裡我配置了一個init-method="init"表示在容易例項化這個doctor的時候,呼叫一個Doctor類的init方法,本來還以為可以通過這個init方法來注入要注入的資訊,但是嘗試過後才知道這個init方法是不能帶引數的。
一:依賴注入的方式
constructor-arg:通過建構函式注入。
property:通過setxx方法注入。
二:constructor-arg的簡單使用
java程式碼
Java程式碼
- publicclass Man {
- private String name ;
- privateint age;
- private List hobby;
- private Map friends;
- private Set set;
- privateboolean ifMarried;
- public Man() {
- }
- public Man(String name,
- this.name = name;
- this.age = age;
- this.hobby = hobby;
- this.friends = friends;
- this.set = set;
- this.ifMarried = ifMarried;
- }
- public String getInfo(){
- String info = "姓名:"+this.name+"\n年齡:"+this.age+
- return info;
- }
xml配置檔案
Java程式碼
- <bean id="man"class="com.spring.test.man.Man">
- <constructor-arg value="zzy" index="0" >
- </constructor-arg>
- <constructor-arg value="10" index=
- </constructor-arg>
- <constructor-arg>
- <list>
- <value>movie</value>
- <value>music</value>
- </list>
- </constructor-arg>
- <constructor-arg>
- <set>
- <value>Lady is GaGa</value>
- <value>GaGa is Lady</value>
- </set>
- </constructor-arg>
- <constructor-arg>
- <map>
- <entry key="liuhua" value="man"></entry>
- <entry key="xujinglei" value="female"></entry>
- </map>
- </constructor-arg>
- <constructor-arg index="5" value="0">
- </constructor-arg>
- </bean>
最後一個引數ifMarried是一個boolean型別的引數,在配置的時候可以是true/false或者0/1;
二:property的簡單使用
java程式碼:
Java程式碼
- publicclass Doctor {
- private String name;
- private String sex;
- public String getName() {
- return name;
- }
- publicvoid setName(String name) {
- this.name = name;
- }
- public String getSex() {
- return sex;
- }
- publicvoid setSex(String sex) {
- this.sex = sex;
- }
- publicvoid init(){
- System.out.println("88888888888");
- }
- publicvoid init(String name,String sex){
- this.name = name;
- this.sex = sex;
- }
- }
xml配置檔案:
Java程式碼
- <bean id="doctor"class="com.spring.test.man.Doctor" init-method="init">
- <property name="name" value="doctor"></property>
- <property name="sex" value="i don't know"></property>
- lt;/bean>
在這裡我配置了一個init-method="init"表示在容易例項化這個doctor的時候,呼叫一個Doctor類的init方法,本來還以為可以通過這個init方法來注入要注入的資訊,但是嘗試過後才知道這個init方法是不能帶引數的。