我使用spring-boot-starter-jdbc(v1.3.0)编写应用程序.
我遇到的问题:BeanPropertyRowMapper
失败的实例,因为它无法转换java.sql.Timestamp
为java.time.LocalDateTime
.
为了复制这个问题,我实现
org.springframework.core.convert.converter.Converter
了这些类型.
public class TimeStampToLocalDateTimeConverter implements Converter{ @Override public LocalDateTime convert(Timestamp s) { return s.toLocalDateTime(); } }
我的问题是:如何让我提供TimeStampToLocalDateTimeConverter
的BeanPropertyRowMapper
.
更一般的问题是,如何注册我的转换器,以使它们在系统范围内可用?
以下代码将我们带到NullPointerException
初始化阶段:
private SetgetConverters() { Set converters = new HashSet (); converters.add(new TimeStampToLocalDateTimeConverter()); converters.add(new LocalDateTimeToTimestampConverter()); return converters; } @Bean(name="conversionService") public ConversionService getConversionService() { ConversionServiceFactoryBean bean = new ConversionServiceFactoryBean(); bean.setConverters(getConverters()); bean.afterPropertiesSet(); return bean.getObject(); }
谢谢.