189 8069 5689

Scala在SpringBoot下MVC的jackson相关配置-创新互联

使用版本:spring boot 1.5.21

创新互联建站专注于企业营销型网站建设、网站重做改版、亚东网站定制设计、自适应品牌网站建设、H5场景定制商城系统网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为亚东等各大城市提供网站开发制作服务。

问题:在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
    }
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:Scala在SpringBoot下MVC的jackson相关配置-创新互联
网页网址:http://cdxtjz.cn/article/doddjd.html

其他资讯