Spring攻略学习笔记 --在Spring中注册属性编辑器
一、知识点
属性编辑器是JavaBeans API的一项功能,用于属性值与文本值相互转换。每个属性编辑器仅用于某一类属性。
Spring IoC容器支持使用属性编辑器来简化Bean配置。例如,使用java.net.URL类型的属性编辑器,可以指定用于URL类型属性的URL字符串。Spring会自动地将这个URL字符串转换成一个URL对象,注入到你的属性中。Spring自带多种用于转换常见类型Bean属性的属性编辑器。
需要在Spring IoC容器中注册属性编辑器,然后才能使用。CustomEditorConfigurer是作为Bean工厂后处理器来实现的,用于在任何Bean实例化之前注册你的自定义属性编辑器。
二、代码示例
[java]
package com.codeproject.jackie.springrecipesnote.springadvancedioc;
import java.util.Date;
/**
* 产品销售排名
* @author jackie
*
*/
public class ProductRanking {
private Product bestSeller;
private Date fromDate;
private Date toDate;
/**
* @return the bestSeller
*/
public Product getBestSeller() {
return bestSeller;
}
/**
* @param bestSeller
* the bestSeller to set
*/
public void setBestSeller(Product bestSeller) {
this.bestSeller = bestSeller;
}
/**
* @return the fromDate
*/
public Date getFromDate() {
return fromDate;
}
/**
* @param fromDate
* the fromDate to set
*/
public void setFromDate(Date fromDate) {
this.fromDate = fromDate;
}
/**
* @return the toDate
*/
public Date getToDate() {
return toDate;
}
/**
* @param toDate
* the toDate to set
*/
public void setToDate(Date toDate) {
this.toDate = toDate;
}
}
package com.codeproject.jackie.springrecipesnote.springadvancedioc;
import java.util.Date;
/**
* 产品销售排名
* @author jackie
*
*/
public class ProductRanking {
private Product bestSeller;
private Date fromDate;
private Date toDate;
/**
* @return the bestSeller
*/
public Product getBestSeller() {
return bestSeller;
}
/**
* @param bestSeller
* the bestSeller to set
*/
public void setBestSeller(Product bestSeller) {
this.bestSeller = bestSeller;
}
/**
* @return the fromDate
*/
public Date getFromDate() {
return fromDate;
}
/**
* @param fromDate
* the fromDate to set
*/
public void setFromDate(Date fromDate) {
this.fromDate = fromDate;
}
/**
* @return the toDate
*/
public Date getToDate() {
return toDate;
}
/**
* @param toDate
* the toDate to set
*/
public void setToDate(Date toDate) {
this.toDate = toDate;
}
} 以下是Java程序转换特定模式的日期字符串。
[java]
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
productRanking.setFromDate(dateFormat.parse("2007-09-01"));
productRanking.setToDate(dateFormat.parse("2007-09-30"));
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
productRanking.setFromDate(dateFormat.parse("2007-09-01"));
productRanking.setToDate(dateFormat.parse("2007-09-30")); Spring中等价Bean配置如下: [java] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd" />
</bean>
<bean id="productRanking" class="com.codeproject.jackie.springrecipesnote.springadvancedioc.ProductRanking">
<property name="bestSeller">
<bean class="com.codeproject.jackie.springrecipesnote.springadvancedioc.Disc">
<property name="name" value="CD-RW" />
<property name="price" value="1.5" />
</bean>
</property>
<property name="fromDate">
<bean factory-bean="dateFormat" factory-method="parse">
<constructor-arg value="2007-09-01"></constructor-arg>
</bean>
</property>
<property name="toDate">
<bean factory-bean="dateFormat" factory-method="parse">
<constructor-arg val
补充:移动开发 , Android ,