Scala在Spring MVC的引导下杰克逊相关配置

  

使用版本:春天引导1.5.21


问题:在scala中配置对杰克逊的com.fasterxml.jackson.databind。模块的进行配置但是始终无法将实体正确的转换。


解决:春天在启动时不要使用@EnableWebMvc注解。


查询过程:通过不断调试初始化的过程,发现在实例化弹簧引导的自动配置类之前就对mvc进行初始化。


心得:其实应该多看下官方文档,简单的几行就能说明问题,不要相信记忆,因为记忆会变,重要的是版本也会变,而且要注意在查看文档时要先看春天引导的版本,再看spring框架的文档。


附带弹簧引导部分翻译:

<人力资源/>

27.1.1 spring mvc自动化配置
春季启动对spring mvc提供自动化配置,并且在大多数的应用中运行良好。


基于春天默认设置的基础上增加下列特性:

<李>

包括实例ContentNegotiatingViewResolver和BeanNameViewResolver。

<李>

支持静态资源,包括支持WebJars。

<李>

自动注册转换器,GenericConverter,格式化程序的实例。

<李>

支持HttpMessageConverters。

<李>

支持静态指数。html。

<李>

定制标识图片。

<李>

自动使用ConfigurableWebBindingInitializer。


如果你想保持这些特性,并且增加额外的MVC配置(拦截器,格式器,视图控制器,等等),你需要在自己的WebMvcConfigurerAdapter类上增加@ configuration注解,但是注意<强>不要增加@EnableWebMvc 强。如果希望自定义RequestMappingHandlerMapping, RequestMappingHandlerAdapter或ExceptionHandlerExceptionResolver,可以声明WebMvcRegistrationsAdapter实例来提供相关组件。
如果希望对Spring MVC进行完全自主配置,可以在增加@ configuration注解的情况下额外再增加@EnableWebMvc。

<人力资源/>

附上scala的春天在引导MVC下的杰克逊配置

进口com.fasterxml.jackson.databind.Module
  进口com.fasterxml.jackson.module.scala.DefaultScalaModule
  进口org.springframework.context.annotation。{Bean,配置}
  
  @ configuration
  类WebMvcConfig {
  
  @ bean
  def defaultScalaModule():模块={
  DefaultScalaModule
  }
  }





Scala在Spring MVC的引导下杰克逊相关配置