Blog

spring-boot で ConfigurationProperties に ZonedDateTime を書く場合のやり方

application.yml に日付データを入れて ZonedDateTime にマッピングしたい、みたいな場合。

http://blog.rakugakibox.net/entry/2015/12/04/springboot-with-java8time ↑こちらのブログに掲載されているように以下のようなクラスをおけばよい。

@Configuration
public class ConversionServiceConfiguration {
    @Bean
    public ConversionService conversionService() {
        FormattingConversionServiceFactoryBean factory = new FormattingConversionServiceFactoryBean();
        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
        registrar.setUseIsoFormat(true);
        factory.setFormatterRegistrars(Collections.singleton(registrar));
        factory.afterPropertiesSet();
        return factory.getObject();
    }
}

便利~


追記: http://www.logicbig.com/tutorials/spring-framework/spring-boot/custom-configuration-properties-binding/ のようなやり方もあるとのこと。 https://twitter.com/wreulicke/status/925613009728290817