【发布时间】:2018-02-02 03:48:29
【问题描述】:
在 spring 项目中,我想从 @Autowired 构造函数参数创建一个 LocalDate,其值在 .properties 文件中。我想做两件事:
1.如果属性文件中包含属性my.date,则需要通过解析属性值来创建参数
设置属性时,以及当我使用以下内容时:
@DateTimeFormat(pattern = "yyyy-MM-dd") @Value("${my.date}") LocalDate myDate,
...
我收到此错误: java.lang.IllegalStateException:无法将类型“java.lang.String”的值转换为所需类型“java.time.LocalDate”:找不到匹配的编辑器或转换策略
我还使用了iso = ... 来使用具有相同结果的 ISO 日期。
2.如果属性不在属性文件中,则应使用LocalDate.now()创建参数
我尝试使用这样的默认值:
@Value("${my.date:#{T(java.time.LocalDate).now()}}") LocalDate myDate,
...
但我得到了同样的错误。
请原谅我对 Spring 的无知,但是我该如何实现这两个目标呢?
【问题讨论】:
标签: java spring spring-boot autowired