解析 WebMvcConfigurerAdapter

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 类说明:abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer用于定制 springMvc 的一些配置,该抽象类继承了 WebMvcConfigurer 接口的所有方法,但是都是一些空实现,是 springMvc 为定制配置提供的入口。

类说明:

abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer
用于定制 springMvc 的一些配置,该抽象类继承了 WebMvcConfigurer 接口的所有方法,但是都是一些空实现,是 springMvc 为定制配置提供的入口。

方法说明

  • public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
    添加解析器以支持自定义控制器方法参数类型。
    这不会覆盖用于解析处理程序方法参数的内置支持。
    要自定义内置的参数解析支持, 同样可以通过 RequestMappingHandlerAdapter 直接配置 RequestMappingHandlerAdapter

使用示例: 添加一个自定义的参数解析对象

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
    argumentResolvers.add(myHandlerMethodArgumentResolver);
}
  • public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)
    添加处理程序来支持自定义控制器方法返回值类型。使用此选项不会覆盖处理返回值的内置支持。 要自定义处理返回值的内置支持,请直接配置RequestMappingHandlerAdapter。空实现。

    使用示例: springMvc 将返回值解析对象放到beanFactory中,实现返回值解析对象的注入
    <pre class="hljs java">` <span class="hljs-meta">@Override</span>
    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">addArgumentResolvers</span><span class="hljs-params">(List<HandlerMethodArgumentResolver> argumentResolvers)</span> </span>{

        argumentResolvers.add(sortResolver());
        argumentResolvers.add(pageableResolver());
    
        ProxyingHandlerMethodArgumentResolver resolver = <span class="hljs-keyword">new</span> ProxyingHandlerMethodArgumentResolver(
                conversionService.getObject());
        resolver.setBeanFactory(context);
        resolver.setBeanClassLoader(context.getClassLoader());
    
        argumentResolvers.add(resolver);
    }
    
  • public void configureMessageConverters(List<HttpMessageConverter<?>> converters) 配置HttpMessageConverter用于读取或写入请求或响应的正文。 如果没有加入转换器,则会注册默认的转换器列表。

    【注意】新添加一个converter),会关闭原有的converter。要增加一个新的 converter 而不影响原有的,可以使用WebMvcConfigurer.extendMessageConverters(java.util.List)方法。

    使用示例:
    

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {

    argumentResolvers.add(sortResolver());
    argumentResolvers.add(pageableResolver());

    ProxyingHandlerMethodArgumentResolver resolver = new ProxyingHandlerMethodArgumentResolver(
            conversionService.getObject());
    resolver.setBeanFactory(context);
    resolver.setBeanClassLoader(context.getClassLoader());

    argumentResolvers.add(resolver);
}
目录
相关文章
|
8月前
|
算法 Java 大数据
【揭秘】RecursiveAction全面解析
RecursiveAction是Java中一个强大的工具,它允许将复杂任务分解为更小的子任务,这些子任务可以并行执行,从而提高整体性能,其主要优点在于能够有效地利用多核处理器,减少任务执行时间,并简化并行编程的复杂性。
【揭秘】RecursiveAction全面解析
|
8月前
|
并行计算 算法 Java
【揭秘】ForkJoinTask全面解析
ForkJoinTask的显著优点在于其高效的并行处理能力,它能够将复杂任务拆分成多个子任务,并利用多核处理器同时执行,从而显著提升计算性能,此外,ForkJoinTask还提供了简洁的API和强大的任务管理机制,使得开发者能够更轻松地编写并行化代码,高效地利用系统资源。
【揭秘】ForkJoinTask全面解析
|
存储 算法
Manacher算法解析
Manacher算法解析
103 0
|
编解码
QLED与UHD有何不同?全面解析
QLED和UHD电视几乎是一样的。作为一项先进技术,QLED 已被修改为 4k 分辨率及更高分辨率,因此它们显示为 UHD 显示器。因此,UHD 和 QLED 并不是相互竞争的术语。你应该为你的家买什么取决于你的预算和喜好。
|
自然语言处理 JavaScript 前端开发
这个this的解析
首先得理解this是在函数被调用的时候绑定的,完全取决于函数的调用位置。这与静态作用域相反,反而有点类似动态作用域(由运行时决定)。this在运行时才进行对象绑定。 其次,就是我们常见的this指向问题,即this的绑定。
177 0
|
Cloud Native Serverless 开发者
Sequeue 解析
在实际的开发中我们会经常遇到将一条数据需要经过多次处理的场景,称为 Pipeline。那么在 Knative 中是否也提供这样的能力呢?其实从 Knative Eventing 0.7 版本开始,提供了 Sequence CRD 资源,用于事件处理 Pipeline。下面我们介绍一下 Sequence。
1100 0
Sequeue 解析
|
存储 数据安全/隐私保护
GPUImage 解析
GPUImage解析(一) —— 基本概览(一)GPUImage解析(二) —— 基本概览(二)GPUImage解析(三) —— 基本概览(三)GPUImage解析(四) —— 安装方法及框架介绍GPUImage解析(五) —— 框架中的几个基类GPU...
1047 0