spring boot 自定义配置文件的类型转换

配置文件

application.yml

myYml:
  date: 20101020

String To Date 转换

public  class StringToDateConverter implements Converter<String, Date> {
    public Date convert(String source) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        try {
            return sdf.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }
}

int To Date 转换

public  class IntegerToDateConverter implements Converter<Integer, Date> {
    public Date convert(Integer source) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        try {
            return sdf.parse(String.valueOf(source));
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }
}

注入类型转换bean

@Bean
public ConversionService conversionService() {
    ConversionServiceFactoryBean bean = new ConversionServiceFactoryBean();
    Set converters = new HashSet<>();
    converters.add(new StringToDateConverter());
    converters.add(new IntegerToDateConverter());
    bean.setConverters(converters);
    bean.afterPropertiesSet();
    return bean.getObject();
}

你可能感兴趣的:(spring,boot)