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