Scala在SpringBoot下MVC的jackson相关配置

使用版本: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
    }
}


分享标题:Scala在SpringBoot下MVC的jackson相关配置
本文来源:http://scyanting.com/article/gdhgid.html