914
技術社區[雲棲]
Spring-Bean的屬性(1.單獨定義BEAN,ID為之的BEAN參考之 2.在BEAN中直接定義參考的BEAN)
首先在名稱為HelloWorld的Bean中增加一個Date類型的私有變量
然後改寫Spring的配置文檔config.xml,添加一個id為date的Bean,並在原來的id為HelloWorld的Bean中參考配置文檔中定義的id為date的Bean
最後修改測試程序TestHelloWorld.java
一定要注意構造函數!
helloworld.java
package com.gc.action; import java.util.Date; public class HelloWorld { private String msg=null;//該變量用來存儲字符串 private Date date=null;//該變量用來存儲日期 public HelloWorld(String msg) { this.msg=msg; } public HelloWorld()//這個必須寫,否則不能轉到上麵的那個 { this.msg=msg; } //設定變量msg的set方法 public void setMsg(String msg) { this.msg=msg; } //獲取變量msg的get方法 public String getMsg() { return this.msg; } public Date getDate() { return this.date; } public void setDate(Date date) { this.date = date; } }
不寫構造函數的話,JVM虛擬機內部會默認去找原先的那個沒有參數的構造函數,從而導致我的程序出錯!
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "https://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!--定義一個Bean--> <bean > <!--將其變量msg通過依賴注入--> <property name="msg"> <value>english zhuzhengke</value> </property> <property name="date"> <ref bean="date"/> </property> </bean> <bean /> </beans>
TestHelloWorld.java
package com.gc.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import com.gc.action.HelloWorld; public class TestHelloWorld { public static void main(String[] args) { //通過ApplicationContext來獲取Spring文件的配置 ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml"); //通過Bean的id來獲取Bean HelloWorld helloworld=(HelloWorld)actx.getBean("HelloWorld"); //打印輸出 System.out.println(helloworld.getMsg()+""+helloworld.getDate()); } }
輸出:
english zhuzhengkeMon Mar 19 15:10:02 CST 2012
另外一種定義BEAN屬性的方法:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "https://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!--定義一個Bean--> <bean > <!--將其變量msg通過依賴注入--> <property name="msg"> <value>english zhuzhengke</value> </property> <property name="date"> <bean /> </property> </bean> </beans>
輸出:
english zhuzhengkeMon Mar 19 15:10:02 CST 2012
最後更新:2017-04-02 22:16:38