No converter for [class java.util.Collections$SingletonMap] with preset Content-Type ‘null‘

目录

一. 报错信息

二. 罪魁祸首+原理解析

 2.1.处理方法

 2.2. 原因

 2.3. 原理


一. 报错信息

二. 罪魁祸首+原理解析

 2.1.处理方法

删除@EnableWebMvc这个注解就好了

@EnableWebMvc

 2.2. 原因

在配置类中添加@EnableWebMvc
表示全面接管SpringMVC,SpringBoot对SpringMVC的自动配置不需要了,所有的都是我们自己配,所有默认配置都没了!有时会导致很多请求进不来,或者参数转换出错之类的,因为spring mvc默认的转换器已经不生效了,所以在大多数情况下我们需要的是在其基础配置上添加自定义配置。

 2.3. 原理:

为什么@EnableWebMvc自动配置就失效了;

       2.3.1)@EnableWebMvc的核心

@Import(DelegatingWebMvcConfiguration.class)
public @interface EnableWebMvc {

        2.3.2)、

@Configuration
public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport {

        2.3.3)、

@Configuration
@ConditionalOnWebApplication
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class,
        WebMvcConfigurerAdapter.class })
//容器中没有这个组件的时候,这个自动配置类才生效
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10)
@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class,
        ValidationAutoConfiguration.class })
public class WebMvcAutoConfiguration {

        2.3.4)、@EnableWebMvc将WebMvcConfigurationSupport组件导入进来;

        2.3.5)、导入的WebMvcConfigurationSupport只是SpringMVC最基本的功能;

相关资料来源

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值