在我们注入属性时,遇到是日期类型,如果按普通属性去注入,则会报错,那我们该怎么解决?解决办法:自定义属性编辑器。
什么是属性编辑器,作用?
自定义属性编辑器,spring配置文件中的字符串转换成相应的对象进行注入spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器。
步骤:
1、 定义一个属性编辑器必须继承java.beans.PropertyEditorSupport
2、 在配置文件配置上我们定义的属性编辑器
下面我们来做一个java.util.Date属性编辑器,代码如下:
定义一个属性编辑器UtilDatePropertyEditor:
/**
* java.util.Date属性编辑器
*/
public class UtilDatePropertyEditor extends PropertyEditorSupport {
private String format="yyyy-MM-dd";
@Override
public void setAsText(String text)
throws IllegalArgumentException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
Date d = sdf.parse(text);
this.setValue(d);
} catch (ParseException e) {
e.printStackTrace();
}
}
public void setFormat(String format) {
this.format = format;
}
}
配置文件applicationContext.xml
<!-- 定义属性编辑器 -->
<bean id="customEditorConfigurer"
class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="java.util.Date">
<bean class="spring.UtilDatePropertyEditor">
<property name="format" value="yyyy-MM-dd"/>
</bean>
</entry>
</map>
</property>
</bean>
以后我们就可以为java.util.Date进行注入,和普通属性一样使用,测试代码(略)
分享到:
相关推荐
- **步骤3**:为了支持更复杂的属性类型(如日期类型),可以通过创建自定义的属性编辑器`UtilDatePropertyEditor`来实现。 - **步骤4**:将自定义的属性编辑器注册到另一个配置文件`applicationContext-editor.xml`...
### Java_笔记整理 #### 知识点概览 本篇文档主要涵盖了Java学习过程中的核心知识点,并且涉及到了部分Linux/Unix基础知识。通过这份笔记,我们能够深入了解Java语言的基础特性、面向对象的设计原则以及一系列高级...
我们还学习了如何使用`docker exec`命令进入容器中并安装Vim编辑器。 2. 序列化和反序列化: 在本节中,我们学习了如何将集合转换成JSON,并将JSON反序列化成集合。在Java语言中,我们可以使用Jackson库来实现序列...
{1.13.3.3}文本创建与编辑}{43}{subsubsection.1.13.3.3} {1.14}\texttt {PATH}}{43}{section.1.14} {1.14.1}Java的打包命令}{44}{subsection.1.14.1} {2}Everything is an Object }{45}{chapter.2} {2.1}类与...
- **变量引用**:通过`${}`来引用数据模型中的变量,如`${user.name}`表示获取用户对象的name属性。 2. **模板设计原则** - **分离关注点**:FreeMarker遵循MVC模式,将视图(模板)与控制器(Java代码)分离,...
- **设置编辑器字体、颜色和显示行号**:个性化编辑器界面。 - **Link文件**:链接外部文件到项目中。 - **安装插件**:扩展Eclipse的功能。 - **获取帮助和阅读帮助文档**:访问在线或离线帮助文档。 - **CVS团队源...
Eclipse提供了多种工具来操作这些数据,如文本编辑器(用于编辑属性文件)、首选项对话框(用于修改设置)和运行配置编辑器(用于定制运行和调试参数)。 在处理遗留问题时,关键步骤包括: 1. **识别问题**:确定...
1. 主界面:包括菜单栏、工具栏、项目视图、编辑器、工具窗口等部分。 2. 工具窗口:如Project、Structure、Version Control、Run等,可以通过View菜单或按快捷键进行切换。 **三、创建新项目** 1. File > New > ...
它可能会详细介绍报表设计界面的各个部分,包括设计区、属性面板、字段列表和脚本编辑器等,以及如何使用这些工具进行报表设计。 《iReport入门.pdf》可能是一个更为深入的教程,除了基础操作外,还可能包含更复杂...
3. **DemoJsonAction.java**: 这个文件可能是Java后端实现分页逻辑的控制器。在Java Spring MVC或者类似的框架中,它可能负责接收前端请求,根据请求参数(如页码和每页大小)从数据库中查询对应的数据,并将其转化...