`

<mvc:argument-resolvers> 和 HandlerMethodArgumentResolver

 
阅读更多

 

 

  1. <mvc:annotation-driven ignoreDefaultModelOnRedirect="true" conversion-service="" validator="" message-codes-resolver="">  
  2.         <mvc:argument-resolvers>  
  3.             <bean class="com.lay.user.util.CustomerArgumentResolver"/>  
  4.         </mvc:argument-resolvers>  
  5.         <mvc:message-converters>  
  6.             <bean class=""/>  
  7.         </mvc:message-converters>  
  8.         <mvc:return-value-handlers>  
  9.             <bean class=""/>  
  10.         </mvc:return-value-handlers>  
  11. </mvc:annotation-driven> 

 

 

 

  • <mvc:argument-resolvers>:参数解析器,可通过实现HandlerMethodArgumentResolver接口实现,该实现不会覆盖原有spring mvc内置解析对参数的解析,要自定义的内置支持参数解析可以考虑注册RequestMappingHandlerAdapter,以下为参考:
Java代码  收藏代码
  1. @Component
  2. public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {
  3.     @Autowired
  4.     private UserService userService;
  5.     @Override
  6.     public boolean supportsParameter(MethodParameter parameter) {
  7.         return parameter.getParameterType().isAssignableFrom(UserEntity.class) && parameter.hasParameterAnnotation(LoginUser.class);
  8.     }
  9.     @Override
  10.     public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container,
  11.                                   NativeWebRequest request, WebDataBinderFactory factory) throws Exception {
  12.         //获取用户ID
  13.         Object object = request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
  14.         if (object == null) {
  15.             return null;
  16.         }
  17.         //获取用户信息
  18.         return userService.queryObject((Long) object);
  19.     }
  20. }

 代码说明: supportsParameter方法主要判别参数是否为该解析器所支持的,支持:true ,不支持:false 

               如果返回true的话则调用resolveArgument方法。

分享到:
评论

相关推荐

    The C programming Language

    &lt;br&gt;Published by Prentice-Hall in 1988 &lt;br&gt;&lt;br&gt;ISBN 0-13-110362-8 (paperback)&lt;br&gt;ISBN 0-13-110370-9 &lt;br&gt;&lt;br&gt;Contents&lt;br&gt;Preface &lt;br&gt;Preface to the first edition &lt;br&gt;Introduction &lt;br&gt;Chapter 1: A ...

    dubbo.xsd分享

    dubbo.xsd 复制代码 &lt;dubbo:service/&gt; 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。...&lt;dubbo:argument/&gt; 用于指定方法参数配置。

    java反编译工具jad 1.5.8g(可以反编译jdk1.5,1.6)

    It is handled by Jad rather than the command shell, so on&lt;br&gt;UNIX the last argument should be single-quoted:&lt;br&gt;&lt;br&gt; jad -o -r -sjava -dsrc 'tree/**/*.class'&lt;br&gt;&lt;br&gt;&lt;br&gt;In a case you want to check ...

    dubbo技术介绍

    &lt;dubbo:argument/&gt; &lt;dubbo:parameter/&gt; 协议参考手册 dubbo:// rmi:// hessian:// http:// webservice:// thrift:// memcached:// redis:// 注册中心参考手册 Multicast注册中心 Zookeeper注册中心 Redis注册中心 ...

    C标准库文档,包括标准库中12个头文件的描述

    * &lt;stdarg.h&gt; : Variable Argument Lists * &lt;stddef.h&gt; : Definitions of General Use * &lt;stdio.h&gt; : Input and Output * &lt;stdlib.h&gt; : Utility functions * &lt;string.h&gt; : String functions * &lt;time.h&gt; : Time...

    C_Standar_Library

    • &lt;stdarg.h&gt; : Variable Argument Lists • &lt;stddef.h&gt; : Definitions of General Use • &lt;stdio.h&gt; : Input and Output • &lt;stdlib.h&gt; : Utility functions • &lt;string.h&gt; : String functions • &lt;time.h&gt; : Time...

    webservice-ajax

    First we have to make sure that we have one and only one instance of Script Manager object on your page:&lt;br&gt;&lt;body&gt;&lt;br&gt;&lt;form id="form1" runat="server"&gt;&lt;br&gt;&lt;asp:ScriptManager ID="ScriptManager1" runat=...

    systemc-2.0.1.tgz

    project-&gt;settings-&gt;C/C++-&gt;preprocessor-&gt;additional include directory-&gt; C:\temp\systemc-2.0.1\src Add Systemc.lib: project-&gt;add to project-&gt;files-&gt; C:\temp\systemc-2.0.1\msvc60\systemc\debug\systemc....

    【原创】【源代码】myshell:操作系统编程-自己用C语言写的Linux下的Shell

    If the &lt;directory&gt; argument is not present, report the current directory. If the directory does not exist an appropriate error should be reported. This command should also change the PWD environment ...

    opencv4.2+opencv-contrib 的python接口

    GPU显卡的Compute Capability需&gt;=5.3,否则会提示error: (-217:Gpu API call) invalid device function in function 'make_policy' 编译本接口所用的工具及环境: Cmake-3.17.5 VS2019 opencv-4.2.0 opencv-contrib...

    曼波整站系统5.3.0

    blog风格单元和分类的 META KEY, DESCRIPTION 生成问题:&lt;br&gt;把当前页面所有文章的META KEY, DESCRIPTION都累加起来,造成长度过长、关键词重复和描述难阅读等缺陷&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;二、增强功能&lt;br&gt;&lt;br&gt;1....

    C函数查询

    如下所示:每个函数都有功能、用法和实例,不错的工具 &lt;br&gt;&lt;br&gt;函数名: scanf &lt;br&gt;功 能: 执行格式化输入 &lt;br&gt;用 法: int scanf(char *format[,argument,...]); &lt;br&gt;程序例: &lt;br&gt;&lt;br&gt;#include &lt;stdio.h&gt; &lt;br&gt;#...

    基于extjs的.NET3.5控件Coolite 1.0.0.34580(Preview预览版)

    基于extjs的.NET3.5控件Coolite 1.0.0.34580 (Preview预览版), *************************************************** * Version 1.0.0 升级日志 *... configured in the &lt;Items&gt; property of &lt;ext:CompositeField&gt;.

    tomcat-5.5.23

    BASE" argument, Tomcat will&lt;br&gt;calculate all relative references for files in the following directories based&lt;br&gt;on the value of $CATALINA_BASE instead of $CATALINA_HOME:&lt;br&gt;&lt;br&gt;* conf - Server ...

    IMS Status Codes

    The following status codes may be returned after processing an IMS call&lt;br&gt;...&lt;br&gt;function argument is not coded correctly &lt;br&gt;AF &lt;br&gt;size of variable length record is invalid for GSAM get access &lt;br&gt;...

    Python devel安装失败问题解决方案

    环境:Linux-CentOS8,Python3.6 如果你遇到python-devel无法安装的问题,发现如下错误: ...No match for argument: python-devel Error: Unable to find a match: python-devel 解决方案之一是: yum ins

    jQuery完全实例.rar

    &lt;p&gt;one&lt;/p&gt; &lt;div&gt;&lt;p&gt;two&lt;/p&gt;&lt;/div&gt; &lt;p&gt;three&lt;/p&gt; jQuery 代码: $("div &gt; p"); 结果: [ &lt;p&gt;two&lt;/p&gt; ] -------------------------------------------------------------------------------- 在文档的第一个表单...

    Python库 | polidoro-py-argument-2.1.0.tar.gz

    python库。 资源全名:polidoro-py-argument-2.1.0.tar.gz

    maven-process-plugin:玛文

    进程执行Maven插件 使用Maven改进端到端集成测试。 使用Process Executor插件,您可以按顺序在集成测试前阶段启动多个流程,然后... &lt;argument&gt;java&lt;/argument&gt; &lt;argument&gt;-jar&lt;/argument&gt; &lt;argument&gt;drop-wizard-ap

Global site tag (gtag.js) - Google Analytics