本實(shí)例中還涉及到Spring中采用多個(gè)配置文件,也涉及到對(duì)日期格式的注入-------更加靈活
Date屬性類: DatePropertyInjection.java
復(fù)制代碼 代碼如下:
package com.zhmg.spring;
import java.util.Date;
public class DatePropertyInjection {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
屬性編輯器類:PropertyEditor.java
復(fù)制代碼 代碼如下:
package com.zhmg.spring;
import java.beans.PropertyEditorSupport;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 自定義屬性編輯器處理java.util.Date類型的屬性
* @author Administrator
*
*/
public class PropertyEditor extends PropertyEditorSupport {
String format = "yyyy-MM-dd";
public void setFormat(String format) {
this.format = format;
}
@Override
public void setAsText(String arg0) throws IllegalArgumentException {
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
try {
Date date = dateFormat.parse(arg0);
this.setValue(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
applicationContextBeans.xml
復(fù)制代碼 代碼如下:
?xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
bean id="dateProperty" class="com.zhmg.spring.DatePropertyInjection">
property name="date">
value>2009-8-28/value>
/property>
/bean>
/beans>
applicationContextBeans.xml
復(fù)制代碼 代碼如下:
?xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
!--
bean id="dateProperty" class="com.zhmg.spring.DatePropertyInjection">
property name="date">
value>2009-8-28/value>
/property>
/bean>
-->
bean id="editor" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
property name="customEditors">
map>
entry key="java.util.Date">
bean class="com.zhmg.spring.PropertyEditor">
!—對(duì)日期格式注入-->
property name="format" value="yyyy-MM-dd"/>
/bean>
/entry>
/map>
/property>
/bean>
/beans>
測(cè)試單元:InjectionTest.java
復(fù)制代碼 代碼如下:
package com.zhmg.spring;
import junit.framework.TestCase;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class InjectionTest extends TestCase {
BeanFactory factory;
protected void setUp() throws Exception {
//采用通配符的方式讀取所有以applicationContext開(kāi)頭的配置文件
factory = new ClassPathXmlApplicationContext("applicationContext*.xml");
}
public void testInjection(){
DatePropertyInjection dateProp = (DatePropertyInjection)factory.getBean("dateProperty");
System.out.println("date=" + dateProp.getDate());
}
}
您可能感興趣的文章:- 詳解Java設(shè)計(jì)模式編程中的依賴倒置原則
- 深入理解JavaScript系列(22):S.O.L.I.D五大原則之依賴倒置原則DIP詳解
- PHP依賴倒置(Dependency Injection)代碼實(shí)例
- Spring學(xué)習(xí)筆記1之IOC詳解盡量使用注解以及java代碼
- 深入理解Java的Spring框架中的IOC容器
- linux系統(tǒng)下一個(gè)冷門的RAID卡ioc0及其監(jiān)控mpt-status
- Android應(yīng)用開(kāi)發(fā)中控制反轉(zhuǎn)IoC設(shè)計(jì)模式使用教程
- 淺析Java的Spring框架中IOC容器容器的應(yīng)用
- C++中DeviceIoCteatol的用法實(shí)例
- MVC使用Spring.Net應(yīng)用IOC(依賴倒置)學(xué)習(xí)筆記3