通过Setters方式对日期属性及日期格式进行IOC注入 本实例中还涉及到Spring中采用多个配置文件,也涉及到对日期格式的注入-------更加灵活 Date属性类: DatePropertyInjection.java 复制代码 代码如下: 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 复制代码 代码如下: 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 复制代码 代码如下: 2009-8-28 applicationContextBeans.xml 复制代码 代码如下: 测试单元:InjectionTest.java 复制代码 代码如下: 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开头的配置文件 factory = new ClassPathXmlApplicationContext("applicationContext*.xml"); } public void testInjection(){ DatePropertyInjection dateProp = (DatePropertyInjection)factory.getBean("dateProperty"); System.out.println("date=" + dateProp.getDate()); } }