68
技術社區[雲棲]
Spring-管理Bean 使用BeanFactory管理Bean
Bean:
package com.gc.action;
import java.util.Date;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.DisposableBean;
public class HelloWorld
//implements InitializingBean,DisposableBean
{
private String msg=null;//該變量用來存儲字符串
private Date date=null;//該變量用來存儲日期
public void afterPropertiesSet() {
// TODO Auto-generated method stub
this.msg="HelloWorld";
this.date=new Date();
System.out.println("2000");
}
public void cleanup() {
// TODO Auto-generated method stub
this.msg="";
this.date=null;
System.out.println("您銷毀了msg"+this.msg+"和date"+this.date);
}
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;
}
}
配置文件:
<?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 init-method="afterPropertiesSet" destroy-method="cleanup">
<!--將其變量msg通過依賴注入-->
</bean>
</beans>
測試程序:
package com.gc.test;
import java.util.Date;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import com.gc.action.HelloWorld;
public class TestHelloWorld {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException
{
//通過ClassPathResource獲取配置文檔
ClassPathResource res=new ClassPathResource("config.xml");
//通過XmlBeanFactory來解析配置翁當
XmlBeanFactory factory=new XmlBeanFactory(res);
//根據id獲取Bean
HelloWorld helloWorld=(HelloWorld)factory.getBean("HelloWorld");
//拿出Bean在配置文檔中設定的內容
System.out.println(helloWorld.getDate()+" "+helloWorld.getMsg()+"------");
}
}
最後更新:2017-04-02 22:16:38