我正在創建一個簡單的spring引導應用程序,它從application.yaml文件加載字符串(ISO-date)並嘗試將其放入@Value註釋字段。 如果我使用.yaml文件,字符串顯然會轉換爲日期/日曆,然後「toStringed」轉換爲其他格式。 如果我使用.properties文件,則字符串按原樣傳遞。應配置的application.yaml和屬性中的Spring引導日期處理
應用
@EnableAutoConfiguration
@Configuration
@ComponentScan
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
SampleComponent c = ctx.getBean(SampleComponent.class);
c.bla();
}
}
元器件
@Component
public class SampleComponent {
@Value("${dateString}")
private String dateString;
public void bla() {
System.out.println(dateString);
}
}
application.yaml
dateString: 2015-01-09
=>輸出:星期五09年1月01:00:00 CET 2015
個application.properties
dateString=2015-01-09
=>輸出:2015年1月9日
對我來說是好的使用性能的解決方案,但我不明白,爲什麼出現這種情況? (注意:當試圖將yaml-date分配給日期字段時,期望的「不能將[java.lang.String]類型的值轉換爲所需的類型[java.util.Date]:不匹配編輯器或轉換戰略發現「異常拋出)
謝謝,其實就是這個問題。儘管如此,我仍然稱之爲非常意外的行爲,尤其是。因爲日期之後會轉換回字符串。 – GandalfIX 2015-01-27 21:47:56
這種行爲也讓我感到驚訝。我已經打開https://github.com/spring-projects/spring-boot/issues/2422 – 2015-01-27 22:21:20