当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,