重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用版本: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 } }