W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
可以使用自定義轉(zhuǎn)換器來擴展對用戶定義類型的類型支持。
org.springframework.core.convert.converter.Converter
接口。
DatastoreCustomConversions
構(gòu)造函數(shù),然后必須將其作為DatastoreCustomConversions
的@Bean
使用。
例如:
我們希望在Singer
POJO上有一個類型為Album
的字段,并希望將其存儲為字符串屬性:
@Entity public class Singer { @Id String singerId; String name; Album album; }
其中Album是一個簡單的類:
public class Album { String albumName; LocalDate date; }
我們必須定義兩個轉(zhuǎn)換器:
//Converter to write custom Album type static final Converter<Album, String> ALBUM_STRING_CONVERTER = new Converter<Album, String>() { @Override public String convert(Album album) { return album.getAlbumName() + " " + album.getDate().format(DateTimeFormatter.ISO_DATE); } }; //Converters to read custom Album type static final Converter<String, Album> STRING_ALBUM_CONVERTER = new Converter<String, Album>() { @Override public Album convert(String s) { String[] parts = s.split(" "); return new Album(parts[0], LocalDate.parse(parts[parts.length - 1], DateTimeFormatter.ISO_DATE)); } };
這將在我們的@Configuration
文件中進行配置:
@Configuration public class ConverterConfiguration { @Bean public DatastoreCustomConversions datastoreCustomConversions() { return new DatastoreCustomConversions( Arrays.asList( ALBUM_STRING_CONVERTER, STRING_ALBUM_CONVERTER)); } }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: