Spring-boot-starter-jdbc (v1.3.0) kullanarak yazıyorum.Yaylı önyükleyicileri, ilkbahar açılışında nasıl kaydeder?
Karşılaştığım sorun: BeanPropertyRowMapper
örneği, java.sql.Timestamp
'dan java.time.LocalDateTime
'a dönüştürülemiyor.
Bu sorunu kopyalamak için, bu türler için org.springframework.core.convert.converter.Converter
uyguladık.
public class TimeStampToLocalDateTimeConverter implements Converter<Timestamp, LocalDateTime> {
@Override
public LocalDateTime convert(Timestamp s) {
return s.toLocalDateTime();
}
}
Sorum şu: Ben BeanPropertyRowMapper
için TimeStampToLocalDateTimeConverter
kullanılabilir hale nasıl.
Daha genel bir soru, bunları sistem genelinde kullanılabilir hale getirmek için dönüştürücülerimi nasıl kaydederim?
Aşağıdaki kod
başlatma sahnedeNullPointerException
bize getirmek:
private Set<Converter> getConverters() {
Set<Converter> converters = new HashSet<Converter>();
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();
}
teşekkür ederiz.
Dönüştürücünüzü fasulye olarak ekleyin ... Diğer her şeyi kaldırın. –
'HttpMessageConverter' ve' Converter' 'burada karıştırılıyor. Sadece WebMVcConfigurerAdapter'ı genişleten ve 'addFormatters' yöntemini uygulayan bir sınıf ekleyin. Eklemek istediğinizler için 'FormatterRegistry'' 'addConverter' '' çağrısında. –
Web ortamım hiç yok. –