如何在Spring xml配置文件中初始化Java Date对象?
考虑这个简单的例子 –
public class Person { private String name; private Date dateOfBirth; // getters and setters here... }
为了将Person初始化为Spring bean,我可以编写以下内容。
但是在上面的bean定义中,我该如何设置dateOfBirth?
例如。 我想将dateOfBirth设置为
1998-05-07
像任何其他POJO一样对待它(这是)
如果您需要使用显式值(例如1975-04-10),那么只需调用其中一个构造函数(尽管那些采用年度 – 月 – 日的构造函数已弃用)。 您还可以使用Spring已经推出的显式java.beans.PropertyEditor
(请参阅第6.4.2节;请注意,您可以编写自己的编辑器并将其注册为您自己的类型)。 您需要在配置中注册CustomEditorConfigurer :
然后你的数据看起来像:
我可能会补充说, Date
不是用于存储出生Date
的合适数据类型 ,因为Date
实际上是即时的 。 您可能希望查看Joda并使用LocalDate
类。
这里提到的答案之一很有用,但它需要额外的信息。 需要提供CustomDateEditor的构造函数参数。
现在我们可以做到
使用CustomDateEditor 。 它从早期开始就在spring。
Spring将日期注入bean属性 – CustomDateEditor
本文提出两点建议:
- 工厂豆
- 和CustomDateEditor
我建议使用“Factory Bean”,因为Spring 4.0+不支持CustomDateEditor,而且Factory Bean很容易使用。
- 如何使用AspectJ和Tomcat配置加载时编织?
- 摇摆计时器如何工作?
- Java中的Fork连接矩阵乘法
- 解密使用OpenSSL生成的“der”文件时出现exception:使用填充密码解密时,输入长度必须是8的倍数
- 将Arraylist转换为json
- 如何使用MockRestServiceServer模拟RestTemplet?
- 查找java中字符串中字符频率的有效方法:O(n)
- JavaFX 8中带有TextFormatter和/或UnaryOperator的整数的数字TextField
- 在代码上获取ClassNotFoundException:“Class.forName(”com.microsoft.sqlserver.jdbc.SqlServerDriver“);”