Spring查缺補漏
阿新 • • 發佈:2022-04-13
學校在學Spring啥的,記錄一些以前沒有注意到的點,一旦發現就記過來。
使用註解註冊Converter
今天講到Converter
,老師完全使用xml配置,但我懶得寫xml,所以我需要一個用註解註冊的辦法。
然後找到了這篇文章:Guide to Spring Type Conversions
使用xml是這樣寫的:
<!-- 建立一個ConversionService Bean,然後向其中新增converters --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="converter.GoodsConverter"/> </list> </property> </bean> <!-- 新增conversion-service --> <mvc:annotation-driven conversion-service="conversionService"/>
使用註解的話,你需要在你的某個實現自WebMvcConfigurer
的類中重寫預設方法addFormatters
,然後通過引數FormatterRegistry
來註冊轉換器:
@Configuration @EnableWebMvc @ComponentScan({"top.yudoge.springmvc.controller"}) public class WebConfig implements WebMvcConfigurer { @Override public void addFormatters(FormatterRegistry registry) { registry.addConverter(new DateConverter()); } }
在Spring中Formatter
和Converter
沒有什麼繼承關係,不知道為什麼他們選擇讓開發者在addFormatters
方法中註冊Converter
,這不是很讓人迷惑嗎??