您好,登錄后才能下訂單哦!
使用版本:spring boot 1.5.21
問題:在scala中配置對jackson的 `com.fasterxml.jackson.databind.Module` 進行配置但是始終無法將實體正確的轉換。
解決:在spring boot時不要使用@EnableWebMvc注解。
查詢過程:通過不斷調試初始化的過程,發現在實例化spring boot的自動配置類之前就對mvc進行初始化。
心得:其實應該多看下官方文檔,簡單的幾行就能說明問題,不要相信記憶,因為記憶會變,重要的是版本也會變,而且要注意在查看文檔時要先看spring boot的版本,再看spring framework的文檔。
附帶spring boot部分翻譯:
27.1.1 Spring MVC 自動化配置
Spring Boot 對 Spring MVC 提供自動化配置,并且在大多數的應用中運行良好。
基于Spring默認設置的基礎上增加下列特性:
包括實例 ContentNegotiatingViewResolver 和 BeanNameViewResolver 。
支持靜態資源,包括支持WebJars。
自動注冊 Converter, GenericConverter, Formatter 的實例。
支持 HttpMessageConverters。
支持靜態 index.html 。
定制 Favicon 圖片。
自動使用 ConfigurableWebBindingInitializer 。
如果你想保持這些特性,并且增加額外的 MVC 配置(攔截器,格式器,視圖控制器,等等),你需要在 自己的 WebMvcConfigurerAdapter 類上增加 @Configuration 注解,但是注意不要增加@EnableWebMvc 。如果希望自定義 RequestMappingHandlerMapping,RequestMappingHandlerAdapter 或 ExceptionHandlerExceptionResolver,可以聲明 WebMvcRegistrationsAdapter 實例來提供相關組件。
如果希望對Spring MVC進行完全自主配置,可以在增加 @Configuration 注解的情況下額外再增加 @EnableWebMvc 。
附上scala的在Spring Boot Mvc 下的 jackson 配置
import?com.fasterxml.jackson.databind.Module import?com.fasterxml.jackson.module.scala.DefaultScalaModule import?org.springframework.context.annotation.{Bean,?Configuration} @Configuration class?WebMvcConfig?{ ???? ????@Bean ????def?defaultScalaModule():Module?=?{ ????????DefaultScalaModule ????} }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。