建议收藏学习 一篇文章弄懂SpringBoot中WebMvcConfigurer
一:简介WebMvcConfigurer是SpringBoot的一个配置类 , 采用JAVABean的形式来代替传统的xml配置文件形式 , 简化了开发中类的配置 , 可以自定义一些Handler , Interceptor , ViewResolver , MessageConverter 。可能大家之前一直用的是WebMvcConfigurer的空实现类WebMvcConfigurerAdapter , 但是在Java8后这个类就被弃用了 。
文章插图
二:WebMvcConfigurer功能所以我们今天主要讲WebMvcConfigurer , 从图片上我们可以看出这个接口的主要提供了以下功能:
【建议收藏学习 一篇文章弄懂SpringBoot中WebMvcConfigurer】1.配置自定义拦截器
2.配置CORS实现跨域
3.视图控制器配置
4.配置MessageConverter
文章插图
三:功能简单介绍接下来我们就依次简单讲解一下这几个功能如何实现 。
3.1 , 配置自定义拦截器:
这里我们继承了HandlerInterceptorAdapter拦截器接口实现自定义拦截器 。
文章插图
然后我们再实现WebMvcConfigurer接口 , 里面有一个addPathPatterns方法这个方法就是用于设置我们的自定义拦截器 , 可以在这个方法中设置拦截路径等 。
@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new ReqInterceptor()).addPathPatterns("/**");}
3.2 , CORS实现跨域:如果不知道跨域是什么意思的小伙伴可以自己去百度一下 , 其实就是一个浏览器从一个域名跨域到另一个域名会有问题 , 这时我们就可以在这个类的addCorsMAppings方法中配置一下 。
/*** 跨域支持*/@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*") //浏览器允许所有的域访问 / 注意 * 不能满足带有cookie的访问,Origin 必须是全匹配.allowCredentials(true) // 允许带cookie访问.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").allowedHeaders("token").maxAge(3600);}
3.3 , 视图控制器配置:这个配置用于直接通过路径请求某个页面 , 经常用来配置网站的首页 。
/*** 视图控制器配置*/@Overridepublic void addViewControllers(ViewControllerRegistry registry) {super.addViewControllers(registry);registry.addViewController("/").setViewName("/index");}
3.4 , 配置MessageConverter:这个配置一般用的不多 , 他主要用来配置API请求返回时采用什么类型的转换器进行转换 。我们经常用到的就是fastJson转换了 。
文章插图
推荐阅读
- 适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程
- 如果你不懂得怎么购买地漏,就该好好学习了,不要等到踩坑就晚了
- Streamlit是python的一个机器学习、数据科学、应用开发框架
- Python-Streamlit库再学习:st.slider和数据可视作图
- 推荐常用的5款代码比较工具「值得收藏」
- 机器学习工程师养成计划-开篇语
- Win10系统内置的万能工具,功能强悍,可解决电脑大小故障!收藏
- 基础通俗讲解集成学习算法
- 流行的机器学习算法总结,帮助你开启机器学习算法学习之旅
- 2020必读的12本机器学习书籍