在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

在 spring-boot 项目中使用 spring mvc xml 项目

Spring boot在Spring boot中Redis的使用