我有一个Employee
类,其中java.util.Date
类型的成员变量如下:
@Component(value="employeeBean")
public class Employee {
// How to initialize this using @Value ???
private Date dateOfJoining;
}
使用application context xml
可以使用此功能:
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd" />
</bean>
<bean id="employeeBean" class="com.Employee">
<property name="dateOfJoining">
<bean factory-bean="dateFormat" factory-method="parse">
<constructor-arg value="2010-01-31" />
</bean>
</property>
</bean>
但我想使用Annotations来做到这一点。请指教。
答案 0 :(得分:2)
@Value("#{dateFormat.parse('2010-01-31')}")
private Date dateOfJoining;
您可以在#{}
注释中使用@Value
附带的SpEL
答案 1 :(得分:1)
@Value($ {new java.text.SimpleDateFormat(\“yyyyMMdd \”)。parse(\“$ {PROP_DATE} \”)}) private Date dateOfJoining;
答案 2 :(得分:0)
添加导入:
import org.springframework.format.annotation.DateTimeFormat;
你可以使用validation-api jar,包括刚刚导入的jar:
import javax.validation.constraints.NotNull`;
在课堂上,在定义变量时:
@DateTimeFormat(pattern="MM/dd/yyyy")
@NotNull
private Date date;
答案 3 :(得分:0)
如果这可以帮助其他人:
@Value("#{new java.text.SimpleDateFormat('yyyy-MM-dd').parse('2010-01-31')}")
private Date dateOfJoining;
或者,如果日期字符串和日期格式存储在属性文件中:
应用程序属性:
date.of.joining=2010-01-31
date.of.joining.format=yyyy-MM-dd
Java 类:
@Value("#{new java.text.SimpleDateFormat('${date.of.joining.format}').parse('${date.of.joining.format}')}")
private Date dateOfJoining;