通过Setters方式对日期属性及日期格式进行IOC注入
通过Setters方式对日期属性及日期格式进行IOC注入
发布时间:2016-12-29 来源:查字典编辑
摘要:本实例中还涉及到Spring中采用多个配置文件,也涉及到对日期格式的注入-------更加灵活Date属性类:DatePropertyInj...

本实例中还涉及到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

复制代码 代码如下:

<?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">

<property name="date">

<value>2009-8-28</value>

</property>

</bean>

</beans>

applicationContextBeans.xml

复制代码 代码如下:

<?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="editor">

<property name="customEditors">

<map>

<entry key="java.util.Date">

<bean>

<!—对日期格式注入-->

<property name="format" value="yyyy-MM-dd"/>

</bean>

</entry>

</map>

</property>

</bean>

</beans>

测试单元: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());

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新JSP教程学习
热门JSP教程学习
编程开发子分类