`
fuhuijun
  • 浏览: 30761 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring--属性转换器

阅读更多

* 自定义属性编辑器,spring配置文件中的字符串转换成相应的对象进行注入 spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器 * 如何定义属性编辑器?

 1、继承PropertyEditorSupport类,覆写setAsText()方法

 2、将属性编辑器注册到spring中

     看下面示例:

    (1)继承PropertyEditorSupport类,覆写setAsText()方法

       

import java.beans.PropertyEditorSupport;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * 自定义属性编辑器
 * @author Administrator
 */
public class PropertyEditorConvertor extends PropertyEditorSupport {
	
	String format = "";//注入到spring中
	
	@Override
	public void setAsText(String text) throws IllegalArgumentException {
		
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		try {
			Date date = sdf.parse(text);
			this.setValue(date);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}

	public void setFormat(String format) {
		this.format = format;
	}
	
}

    (2)写一个javaBean,就两属性,这里以转换Date类型为例

   

public class Bean1 {
	private String name;
	private Date date;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getDate() {
		return date;
	}
	public void setDate(Date date) {
		this.date = date;
	}
	
}

 

    (3)配置文件appliactionContext.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<!-- 属性编辑器 
	<bean id="propertyEditorConvertor" class="com.bjsxt.spring.PropertyEditorConvertor"></bean>
	-->
	<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
		<property name="customEditors"><!-- 这个name是写死的,是CustomEditorConfigurer类中的属性-->
			<map><!--spring是将属性放到map里面来实现的转换的 -->
				<entry key="java.util.Date"><!-- 属性为Date类型的数据 -->
					<bean class="com.bjsxt.spring.PropertyEditorConvertor"> <!-- 用于转换属性的转换器 -->
						<property name="format" value="yyyy/MM/dd"/>
					</bean>
				</entry>
			</map>
		</property>
	</bean>
</beans>

 

    (4)写一个测试

   

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {
	public static void main(String[] args){
		BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
		Bean1 bean1 = (Bean1)factory.getBean("bean1");
		System.out.println("bean1.name = " + bean1.getName());
		System.out.println("bean1.date = " + bean1.getDate());
	}
}

 

    OK!如果时间能打印出来,就说明属性编辑器配置好了

   

分享到:
评论
2 楼 shuhailongjacky13 2012-04-26  
     
1 楼 shuhailongjacky13 2012-04-26  
Bean1 bean1 = (Bean1)factory.getBean("bean1");   能找到吗?

相关推荐

    Spring-Reference_zh_CN(Spring中文参考手册)

    5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的...

    spring-mvc-learn:spring-mvc学习代码源码-mvc source code

    在spring-mvc的配置文件中添加bean:org.springframework.context.support.ConversionServiceFactoryBean,注册转换器,添加注释驱动的转换服务属性 格式化程序 实现Formatter接口 在spring-mvc的配置文件中添加bean...

    Spring Security-3.0.1中文官方文档(翻译版)

    16. acegi 到spring security 的转换方式 16.1. Spring Security 是什么 16.2. 目标 16.3. 步骤 16.4. 总结 V. 高级话题 17. 领域对象安全(ACLs) 17.1. 概述 17.2. 关键概念 17.3. 开始 18. 预...

    spring-mvc-JsonIgnoreDynamically:渲染前按名称从 jackson json 序列化中排除某些字段

    如何使用/如何工作: 我们需要定义我们的自定义 Http 消息转换器,该转换器将负责决定响应的特定部分是否需要序列化(Json 响应)。 对于需要某种过滤的所有自定义 java 对象,我们需要在类级别定义注释,给出不应为...

    spring结合Mina

    spring结合Mina的配置文件,设计到spring构造 属性编辑器

    spring数据格式转换

    spring数据格式转换 自定义的属性编辑器进行数据绑定

    Spring Security 中文教程.pdf

    16. acegi到spring security的转换方式 16.1. Spring Security是什么 16.2. 目标 16.3. 步骤 16.4. 总结 V. 高级话题 17. 领域对象安全(ACLs) 17.1. 概述 17.2. 关键概念 17.3. 开始 18. 预认证...

    poc-spring-boot

    如何在Spring启动中采用JPA 如何处理异常 怎么写“整合测试” 基础实体 实体乐观锁定/版本 如何采用DTO(数据转换对象)模式 审核解决方案 软删除和唯一密钥解决方案 ID生成器通过随机UUID变长 通过Flyway进行...

    springboot参考指南

    Spring Boot执行器: Production-ready特性 i. 39. 开启production-ready特性 ii. 40. 端点 i. 40.1. 自定义端点 ii. 40.2. 健康信息 iii. 40.3. 安全与HealthIndicators i. 40.3.1. 自动配置的HealthIndicators ii....

    应聘程序员刷题-spring-ldap:弹簧LDAP

    到未经检查的异常层次结构的异常转换,以及一些用于处理过滤器、LDAP 路径和属性的实用程序。 有关该项目的详细信息,请参阅 和 。 有关最新版本更改的详细信息,请参阅 。 专家级用户 该库的所有主要版本都可以在...

    spring.net中文手册在线版

    4.4.2.内置的类型转换器 4.4.3.自定义类型转换器 4.4.3.1.使用CustomConverterConfigurer类 4.5.自定义对象的行为 4.5.生命周期接口 4.5.1.1.IInitializingObject接口和init-method属性 4.5.1.2.IDisposable接口和...

    Spring 2.0 开发参考手册

    19.3.1. 使用消息转换器 19.3.2. SessionCallback 和ProducerCallback 19.4. 接收消息 19.4.1. 同步接收 19.4.2. 异步接收 - 消息驱动的POJOs 19.4.3. SessionAwareMessageListener 接口 19.4.4. ...

    spring chm文档

    5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...

    Spring中文帮助文档

    5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...

    Spring API

    5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...

    springMongodb参考文档中文版

    使用Spring转换器读取 9.12.3。使用MongoConverter注册Spring转换器 9.12.4。转换器消除歧义 9.13。索引和集合管理 9.13.1。创建索引的方法 9.13.2。访问索引信息 9.13.3。使用集合的方法 9.14。执行命令 9.14.1。...

    Spring攻略(第二版 中文高清版).part1

    6.2 在你的Servlet和过滤器中使用Spring 214 6.2.1 问题 214 6.2.2 解决方案 215 6.2.3 工作原理 215 6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4...

    开源框架 Spring Gossip

    Controller 的类别 介绍如何在 Controller上搭配使用验证器(Validator)、如何实作Command资料的型态转换,以及如何使用Spring的相关API来实作档案上传的功能。 实作 Validator 使用 PropertyEditor ...

    Spring MVC自定义日期类型转换器实例详解

    Spring MVC自定义日期类型转换器实例详解  WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们。说真的,以前真没...

    Spring in Action(第2版)中文版

    7.4.1代理springsecurity的过滤器 7.4.2处理安全上下文 7.4.3提示用户登录 7.4.4处理安全例外 7.4.5强制web安全性 7.4.6确保一个安全的通道 7.5视图层安全 7.5.1有条件地渲染内容 7.5.2显示用户身份验证信息...

Global site tag (gtag.js) - Google Analytics