在spring boot中使用@EnableWebMvc 一定要注意的问题!
Posted TuskueNeko
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在spring boot中使用@EnableWebMvc 一定要注意的问题!相关的知识,希望对你有一定的参考价值。
有时我们需要自定义一个spring mvc拦截器或者跨域之类的配置,然后在配置拦截器时会在config类上加上@EnableWebMvc,
然而这个注解会带来一个问题,按官方的说法,@EnableWebMvc表示完全自己控制mvc配置,也就是说所有配置自己重写,所有默认配置都没了!有时会导致很多请求进不来,或者参数转换出错之类的,因为spring mvc默认的转换器已经不生效了,所以在大多数情况下我们需要的是在其基础配置上添加自定义配置,因此在配置类上应该这样写
@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcAutoConfiguration implements WebMvcConfigurer
@Override
public void addCorsMappings(CorsRegistry registry)
// 设置允许跨域的路径
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOrigins("*")
// 是否允许证书 不再默认开启
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("*")
// 跨域允许时间
.maxAge(3600);
extends WebMvcAutoConfiguration 表示使用spring mvc默认配置,如此就没有问题了
以上是关于在spring boot中使用@EnableWebMvc 一定要注意的问题!的主要内容,如果未能解决你的问题,请参考以下文章
Spring在AuthenticationSuccessHandler中自动装配会话范围bean不起作用
如何在 Spring Security 中启用 POST、PUT 和 DELETE 方法
spring-boot实战12:Spring Boot中使用JavaMailSender发送邮件
Spring Boot:在Spring Boot中使用Mysql和JPA