`

Spring自动类型转换

阅读更多

(1)要转换的是下列类中的date属性。

package convert;

import java.util.Date;

public class Student {
	private Date birthday;

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	

}

 

 

(2)、写转换的方法,继承PropertyEditorSupport类,覆写setAsText()方法。

package util;

import java.beans.PropertyEditorSupport;
import java.text.SimpleDateFormat;
import java.util.Date;



public class DateConvert extends PropertyEditorSupport{

	private String format;

	@Override
	public void setAsText(String text) throws IllegalArgumentException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		try{
			Date date = sdf.parse(text);
			this.setValue(date);
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}

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

 

 

3、在Spring的配置文件中,将上面的转换器注册成bean。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:p="http://www.springframework.org/schema/p"
	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.0.xsd">
	
	<bean id="Student" class="convert.Student" >
		<property name="birthday" value="2010-1-1"></property>
	</bean>
	
<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
  <property name="customEditors">
   <map>
    <entry key="java.util.Date">
     <bean class="util.DateConvert">
      <property name="format" value="yyyy-MM-dd"></property>
     </bean>
    </entry>
   </map>
  </property>
 </bean>

	
</beans>

 

 

(4)测试类。

package test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import convert.Student;
import junit.framework.TestCase;

public class StudentTest extends TestCase{
	public void testStudent(){
		ApplicationContext ctx = new ClassPathXmlApplicationContext(
				"convert.xml");
		Student stu = (Student)ctx.getBean("Student");
		
		System.out.print(stu.getBirthday());
	}

}

 

 

关于这个内容可以参考这个跟详细的博客:spring--类型转换器

分享到:
评论

相关推荐

    利用 Spring 自动类型转换与回调模式写出优雅的代码

    当我们使用 dubbo 或者 feign 进行 RPC 调用用时,通常的调用模板方式如下: public BizResponse method(BizRequest request){ RpcRequest rpcRequest = buildRpcRequest(); RpcReponse reuslt = xxxFacade.invoke...

    第十五章 Spring 类型转换(Type Conversion)1

    对于 Java Bean 属性的类型转换,Spring 会自动检测并应用相应的转换器。同时,`BeanWrapper` 和数据绑定机制会利用 `ConversionService` 来处理属性赋值过程中的类型转换问题。 面试题精选可能会涉及以下几个方面...

    spring数据格式转换

    最后,对于`UserState`这样的枚举类型,Spring可以通过`Enum`类型转换器自动处理,但如果需要自定义转换逻辑,也可以创建一个`PropertyEditor`,覆盖`setAsText()`方法,将字符串转换为对应的枚举值。 总的来说,...

    Spring MVC学习(七)-------SpringMVC数据类型转换

    ### Spring MVC 数据类型转换详解 #### 一、背景与需求 在进行Web应用开发时,尤其是在使用Spring MVC框架的过程中,经常需要对用户提交的数据进行处理,包括但不限于数据类型转换、数据验证以及数据格式化等操作...

    Spring由类型(Type)自动装配源码

    匹配规则包括:类型完全匹配、子类匹配以及类型转换器支持的类型转换。 3. 如果找到一个或多个匹配的bean,Spring会选择最佳候选者。如果有多个,可以通过@Qualifier注解指定具体bean,或者根据bean的顺序、作用域等...

    spring mvc3.1.0 日期自动转换

    Spring MVC 3.1.0通过提供数据绑定(Data Binding)和类型转换(Type Conversion)机制,简化了这个过程。 1. 数据绑定:Spring MVC的数据绑定允许我们直接将HTTP请求参数映射到控制器方法的参数上。例如,一个`@...

    29 Spring MVC之类型转换Converter慕课专栏1

    在Spring MVC中,类型转换是将用户输入的数据(通常是字符串)转换为模型对象中的预期类型。在早期版本中,我们依赖于`PropertyEditor`来完成这个任务,它只能处理从`String`到其他类型的转换。然而,随着Spring的...

    SpringMVC数据绑定及数据类型转换

    在SpringMVC中,数据绑定和数据类型转换是两个关键的概念,它们对于构建高效、健壮的Web应用至关重要。 **数据绑定**是SpringMVC中的一种机制,允许我们将用户通过表单或其他方式提交的请求参数自动绑定到控制器中...

    spring自动扫描和管理Bean的示例

    通过分析这个示例,你可以更好地理解Spring自动扫描和管理Bean的工作原理,以及如何在实际项目中应用这些概念。 总结起来,Spring的自动扫描和管理Bean功能是通过组件扫描和注解驱动配置实现的,这大大减少了手动...

    自定义全局类型转换器

    Spring框架提供了强大的数据绑定功能,其中就包括自动类型转换。然而,有时系统默认的转换器可能无法满足我们所有的需求,这时就需要自定义全局类型转换器。本文将深入探讨如何实现自定义全局类型转换器,以提升系统...

    自己写的转换器,包含各种基本的数据类型。

    类型转换器的使用场景广泛,不仅限于Struts1框架,还可以应用到Spring MVC、Java EE的JSF等其他框架中。在实际开发中,一个良好的类型转换器设计可以提高代码的可维护性和灵活性,减少因类型不匹配导致的运行时异常...

    SSM笔记-自定义类型转换器

    这涉及到类型转换,SpringMVC提供了一套完善的机制来支持自定义类型转换器,使得我们能够按需定制数据转换逻辑,从而提高代码的可读性和维护性。 标题中的"SSM笔记-自定义类型转换器"指的是在SpringMVC中创建自定义...

    前台字符串赋值给JavaBean属性自动类型转换

    在Java Web开发中,我们经常需要将前端传来的字符串数据转换为JavaBean的属性,这一过程称为自动类型转换。在Spring框架中,`BeanUtils`、`Converter`和`ConvertUtils`是三个常用的工具类,它们帮助我们简化了这个...

    一款spring提供的高效数据转换工具最新版

    3. **TypeReference**:当反序列化时,如果目标类型是泛型类型,ObjectMapper无法自动推断出确切的类型信息,这时就需要使用TypeReference来明确指定类型。 4. **Module机制**:Jackson允许通过注册自定义的Module...

    Spring MVC 数据转换和格式化.docx

    这种转换器在处理特定类型转换时非常有用,特别是在需要自定义解析逻辑的情况下。 为了使用自定义的`Converter`,我们需要在Spring配置中注册它。这可以通过XML配置或Java配置来完成。在XML配置中,我们可以使用`...

    struts2自定义类型转换器

    在默认情况下,Struts2能够自动处理基本类型和简单类型的转换,但当我们需要对复杂的数据类型或者自定义类型的转换时,就需要自定义类型转换器。本文将深入探讨如何在Struts2中实现自定义类型转换器,以便将用户输入...

    专题资料(2021-2022年)SpringMVC数据类型转换要点.doc

    从Spring3开始,Spring引入了`ConversionService`,它允许进行任意对象之间的类型转换,同时提供了一种更为强大的数据验证和格式化机制。新流程如下: - **类型转换**:使用`ConversionService`,内部根据源类型和...

    Spring Boot的自动化配置实现swagger2引入spring boot生成API文档.docx

    当`example`字段为空字符串时,该方法尝试将其转换为数字类型,从而导致`NumberFormatException`异常。 在`1.5.22`版本中,这个问题得到了修复。具体来说,在`getExample`方法中增加了额外的检查,以确保当`example...

    springmvc类型转换.md

    ### Spring MVC 类型转换 #### 一、Spring MVC 类型转换概述 在Spring MVC框架中,类型转换(Type Conversion)是一项非常重要的功能。它能够帮助开发者处理请求参数与控制器方法参数之间的类型匹配问题,简化了...

    spring mvc 参数绑定漏洞

    1. **类型转换异常**:当用户提交的数据不符合预期的数据类型时,Spring MVC会尝试进行类型转换。如果转换失败,可能会抛出异常,暴露敏感信息或导致应用逻辑错误。 2. **未校验输入**:如果没有对用户输入进行适当...

Global site tag (gtag.js) - Google Analytics