Spring自定义属性编辑器

bean类:

[html] view plain copy

  1. package com.zm.bean;
  2. import java.util.Date;
  3. public class Bean1 {
  4. private Date dateValue;
  5. public Date getDateValue() {
  6. return dateValue;
  7. }
  8. public void setDateValue(Date dateValue) {
  9. this.dateValue = dateValue;
  10. }
  11. }

自定义属性编辑器类(UtilDatePropertyEditor):

[html] view plain copy

  1. package com.zm.bean;
  2. import java.beans.PropertyEditorSupport;
  3. import java.text.SimpleDateFormat;
  4. import java.text.ParseException;
  5. import java.util.Date;
  6. public class UtilDatePropertyEditor extends PropertyEditorSupport {
  7. private String format="yyyy-MM-dd";
  8. @Override
  9. public void setAsText(String text) throws IllegalArgumentException {
  10. // TODO Auto-generated method stub
  11. System.out.println("UtilDatePropertyEditor.setAsText() -- text=" + text);
  12. SimpleDateFormat sdf = new SimpleDateFormat(format);
  13. try{
  14. Date d = sdf.parse(text);
  15. this.setValue(d);
  16. }catch (ParseException e) {
  17. // TODO Auto-generated catch block
  18. e.printStackTrace();
  19. }
  20. }
  21. public void setFormat(String format) {
  22. this.format = format;
  23. }
  24. }

相关配置:

[html] view plain copy

    1. <span style="white-space:pre">    </span><!-- 配置bean1 -->
    2. <bean id="bean1" class="com.zm.bean.Bean1">
    3. <property name="dateValue" value="2016-08-20"/>
    4. </bean>
    5. <!-- 配置自定义属性编辑器 -->
    6. <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
    7. <property name="customEditors">
    8. <map>
    9. <entry key="java.util.Date" >
    10. <bean class="com.zm.bean.UtilDatePropertyEditor">
    11. <property name="format" value="yyyy-MM-dd"/>
    12. </bean>
    13. </entry>
    14. </map>
    15. </property>
    16. </bean>
时间: 2024-08-08 14:47:02

Spring自定义属性编辑器的相关文章

详解spring自定义属性编辑器

Spring DI注入的时候可以把普通属性注入进来,但是像Date类型的就无法被识别.这时可以通过Spring的属性编辑器把配置文件中的字符串转化成相应的对象进行注入. Spring有自带的属性编辑器,我们也可以写自定义的属性编辑器 自定义属性编辑器: 继承java.beans.PropertyEditorSupport类,重写其中的setAsText(String text)方法. 再把自定义的属性编辑器注入到Spring中. 1. JavaBean类 package com.dxc.zidi

Spring属性编辑器详解

1.常见的属性的注入:int,string,list,set,map 2.什么是属性编辑器及作用? (1)将spring配置文件中的字符串转换为相应的java对象 (2)spring内置了一些属性编辑器,也可以自定义属性编辑器 3.如果自定义属性编辑器 (1)继承propertyEditorSupport (2)重写setAsText 方法 (3)使用 setValue 完成属性对象设置 下面通过实例来说明类属性自定义动态加载 工程截图: 工程说明: 1.Education.java 自定义属性

SpringIOC自定义属性编辑器PropertyEditor

Spring中我们可以使用属性编辑器来将特定的字符串转换为对象 String--转换-->object java.beans.PropertyEditor(JDK中的接口)用于将xml文件中字符串转换为特定的类型,同时JDK为我们提供一个实现类java.beans.PropertyEditorSupport Spring在注入时,如果遇到类型不一致(例如需要Address类型但是用户传了个String)则会去调用相应的属性编辑器进行转换 spring会调用属性编辑器的setAsText(Stri

SpringMVC自定义属性编辑器

自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效:还有一种是实现自己的 WebBindingInitializer,然后定义一个AnnotationMethodHandlerAdapter的bean,在此bean里面进行注册 ,这种属性编辑器是全局的. 第一种方式: Java代码 import java.beans.PropertyEditorSupport; import java

你用过Spring中哪些功能?

核心容器: IOC:依赖注入 AOP:日志记录,性能统计,安全控制,事务处理,异常处理 Spring MVC: Spring profile:生产和日常配置的切换 Spring事件触发功能:比较简单,但是够用 Spring的Conditional功能:和Profile类似,但是更灵活一点 Spring的DI和IOC有啥区别? Spring提供的CharacterEncodingFilter Spring的容器初始化,做监听的:ContextLoaderListener Spring为hibern

SpringMVC类型转换器、属性编辑器

对于MVC框架,参数绑定一直觉得是很神奇很方便的一个东西,在参数绑定的过程中利用了属性编辑器.类型转换器 参数绑定流程 参数绑定:把请求中的数据,转化成指定类型的对象,交给处理请求的方法 请求进入到DisptacherServlet,卸下请求中的数据 DisptacherServlet将请求中的数据发送给Controller 获取Controller需要接收的参数类型,将参数类型和请求数据发送给DataBinder DataBinder将参数类型和请求数据再发给TypeConverter,由Ty

spring beans源码解读

spring beans下面有如下源文件包: org.springframework.beans, 包含了操作java bean的接口和类.org.springframework.beans.annotation, 支持包,提供对java 5注解处理bean样式的支持.org.springframework.beans.factory, 实现spring轻量级IoC容器的核心包.org.springframework.beans.factory.access, 定位和获取bean工程的辅助工具类

spring入门教程——笔记

Spring学习笔记(1)----简单的实例 --------------------------------- 首先需要准备Spring包,可从官方网站上下载. 下载解压后,必须的两个包是spring.jar和commons-logging.jar.此外为了便于测试加入了JUnit包. 在Myeclipse中创建Java项目. 编写一个接口类,为了简单,只加入了一个方法. Java代码  1.package com.szy.spring.interfacebean;  2.  3.public

不错的Spring学习笔记(转)

Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是spring.jar和commons-logging.jar.此外为了便于测试加入了JUnit包.   在Myeclipse中创建Java项目.   编写一个接口类,为了简单,只加入了一个方法.   Java代码   1.package com.szy.spring.interfacebean;