栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Cocos2d-x

你不得不知道的WebMvcConfigurer

Cocos2d-x 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

你不得不知道的WebMvcConfigurer

目录标题
    • WebMvcConfigurer
    • WebMvcConfigurer接口常用的方法
    • addInterceptors:拦截器
    • addViewControllers:页面跳转
    • addResourceHandlers:静态资源
    • configureViewResolvers:视图解析器
    • addCorsMappings:跨域
    • configureMessageConverters:信息转换器

WebMvcConfigurer

WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer 接口;

在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器,消息转换器等。SpringBoot 2.0 后,该类被标记为@Deprecated(弃用)。官方推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport。

WebMvcConfigurer接口常用的方法
 
void addInterceptors(InterceptorRegistry var1);

void addViewControllers(ViewControllerRegistry registry);

void addResourceHandlers(ResourceHandlerRegistry registry);

void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer);

void configureViewResolvers(ViewResolverRegistry registry);

void configureContentNegotiation(ContentNegotiationConfigurer configurer);

public void addCorsMappings(CorsRegistry registry) ;
addInterceptors:拦截器

addInterceptor:需要一个实现HandlerInterceptor接口的拦截器实例
addPathPatterns:用于设置拦截器的过滤路径规则;addPathPatterns(" @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/my @Bean public InternalResourceViewResolver resourceViewResolver() { InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver(); //请求视图文件的前缀地址 internalResourceViewResolver.setPrefix("/WEB-INF/jsp/"); //请求视图文件的后缀 internalResourceViewResolver.setSuffix(".jsp"); return internalResourceViewResolver; }

 

@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
    super.configureViewResolvers(registry);
    registry.viewResolver(resourceViewResolver());
    
}
addCorsMappings:跨域
@Override
public void addCorsMappings(CorsRegistry registry) {
    super.addCorsMappings(registry);
    registry.addMapping("/cors
@Override
public void configureMessageConverters(List> converters) {
    //调用父类的配置
    super.configureMessageConverters(converters);
    //创建fastJson消息转换器
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    //创建配置类
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    //修改配置返回内容的过滤
    fastJsonConfig.setSerializerFeatures(
            SerializerFeature.DisableCircularReferenceDetect,
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteNullStringAsEmpty
    );
    fastConverter.setFastJsonConfig(fastJsonConfig);
    //将fastjson添加到视图消息转换器列表内
    converters.add(fastConverter);
 
}

《核心技术系列专栏汇总》

  • 《Java系核心技术》
  • 《中间件核心技术》
  • 《微服务核心技术》
  • 《分布式核心技术》
  • 《云原生核心技术》
  • 《数据库相关技术》
  • 《通用业务实现集》
  • 《一起去大厂系列》
  • 《开源项目o s s a》

需要 大厂面试题、简历模版、电子书、学习资料 等关注【公众号】回复「 1024 」即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952487.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号