博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PropertyEditor使用
阅读量:6515 次
发布时间:2019-06-24

本文共 2886 字,大约阅读时间需要 9 分钟。

PropertyEditor使用

 假如我们的有如下类 其中date是你的生日,而你在配置文件中,或者使用注解都是字符串,所以我们有必要把字符串转换成Date类型的

package liusheng.entity;import java.util.Date;public class User {    private String name;    private Integer id;    public Date getDate() {        return date;    }    public void setDate(Date date) {        this.date = date;    }    private Date date;    public String toString() {        return "User{" +                "name='" + name + '\'' +                ", id=" + id +                ", date=" + date +                '}';    }    public User(String name, Integer id) {        this.name = name;        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public User() {    }}

  注意Spring中的Date转换器(CustomDateEditor),不能有参数,所以不能使用(Spring 5xx),我试过无法注入到

  CustomEditorConfigurer的属性中,应为该属性是一个Map
>   而spring中的Class类型只能通过字符串,所以不能有参数,所以转换器只能在类中写死   如:
package liusheng.propertyEidtor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Component;import java.beans.PropertyEditorSupport;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;@Component("myDateEditor")public class MyDateEditor extends PropertyEditorSupport {    private List
list; { list=new ArrayList
(); list.add(new SimpleDateFormat("yyyy年MM月dd日")); } public String getAsText() { return getValue().toString(); } public List
getList() { return list; } public void setList(List
list) { this.list = list; } public void setAsText(String text) throws IllegalArgumentException { for (SimpleDateFormat format: list) { try { Date date = format.parse(text); setValue(date); return ; } catch (ParseException e) { } } throw new RuntimeException("无法转换"); }}

 配置文件如下:

 输出:

  User{name='张三', id=10, date=Mon Dec 18 00:00:00 CST 1234}

 你可以把配置文件放在外面,当然配置文件的位置与名字就定死了,这样可以灵活一点

 

  

 

  

  

转载于:https://www.cnblogs.com/SpringStudy/p/8592106.html

你可能感兴趣的文章
Java编程的逻辑 (44) - 剖析TreeSet
查看>>
address元素
查看>>
Android View体系(六)从源码解析Activity的构成
查看>>
fnmatch源码阅读
查看>>
U9249 【模板】BSGS
查看>>
单片机小白学步系列(九) 用万用焊板搭建实验电路
查看>>
Tomcat PK Resin
查看>>
(转)全文检索技术学习(三)——Lucene支持中文分词
查看>>
Node.js+Koa开发微信公众号个人笔记(一)准备工作
查看>>
Android 图片缓存处理
查看>>
阿里盒马领域驱动设计实践
查看>>
vuex 存值 及 取值 的操作
查看>>
HDU 2242 考研路茫茫——空调教室(边双连通)
查看>>
如何在C#项目中使用NHibernate
查看>>
安装python包到指定虚拟环境
查看>>
力扣(LeetCode)21
查看>>
网页视频流m3u8/ts视频下载
查看>>
Python 基础起步 (十) 什么叫函数?
查看>>
5G一周热闻:华为夺联通5G大单,首张5G电话卡发放
查看>>
“迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
查看>>