spring读取资源文件时自定义数据类型转换---CustomEditorConfigurer
2015-08-10 20:18
1056 查看
环境:
spring 4.1.2
一共四步:
第一步:
资源文件添加key-value:
memcached.opTimeout=10000
第二步:
实现类型处理的editor
第三步:
配置自定义的long类型处理editor
第四步:
使用配置
断点方式测试:
1)TypeConverterDelegate.convertIfNecessary(String, Object, Object, Class<T>, TypeDescriptor)的
PropertyEditor editor = this.propertyEditorRegistry.findCustomEditor(requiredType, propertyName);
加上断点,这句代码的意思就是根据配置文件value的类型来寻找咱们自定义的editor,然后使用自定义的editor来进行转换
2)如果想要测试有没有成功,直接在LongPropertyEditor的setAsText方法上设置断点,看代码有没有经过自定义方法中
spring 4.1.2
一共四步:
第一步:
资源文件添加key-value:
memcached.opTimeout=10000
第二步:
实现类型处理的editor
public class LongPropertyEditor extends PropertyEditorSupport{ @Override public void setAsText(String text) throws IllegalArgumentException { this.setValue(Long.valueOf(text)); } }
第三步:
配置自定义的long类型处理editor
<!-- 特殊属性的注入.把特殊属性注入到CustomEditorConfigurer Bean 里 --> <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="long" value = "com.joyworks.memcached.editor.LongPropertyEditor"/> </map> </property> </bean>
第四步:
使用配置
<property name="opTimeout" value="${memcached.opTimeout}"></property>
断点方式测试:
1)TypeConverterDelegate.convertIfNecessary(String, Object, Object, Class<T>, TypeDescriptor)的
PropertyEditor editor = this.propertyEditorRegistry.findCustomEditor(requiredType, propertyName);
加上断点,这句代码的意思就是根据配置文件value的类型来寻找咱们自定义的editor,然后使用自定义的editor来进行转换
2)如果想要测试有没有成功,直接在LongPropertyEditor的setAsText方法上设置断点,看代码有没有经过自定义方法中
相关文章推荐
- Java toString()方法
- java之集合Collection 3个例子
- java之集合Collection 3个例子
- Java的package和import机制
- 字符流---IO学习笔记(三)
- JVM学习笔记(二)------Java代码编译和执行的整个过程
- Java(8-10)
- Java File 类
- Struts2 基础总结
- Java反射学习笔记
- JAVA 基础(环境搭建)
- 201301 JAVA题目0-1级 华为OJ
- JAVA基础一大堆0810数据库
- Java多线程之进程和线程
- Java中方法重载与重写的区别
- java大数
- 基于注解的SpringMVC整合JPA
- 读取jar包中资源文件的两种方法
- Java Socket编程
- Spring异步任务处理,@Async的配置和使用