`

<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方法。

分享到:
评论

相关推荐

    hibernatevalidatorjar_downcc.zip

    2. 配置SpringMVC:在SpringMVC的配置文件中,启用数据绑定和验证支持,通常是在`&lt;mvc:annotation-driven&gt;`标签内添加`&lt;mvc:argument-resolvers&gt;`和`&lt;mvc:message-converters&gt;`子元素。 3. 定义验证规则:使用...

    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 ...

    Maven:在pre-integration-test阶段依次启动多个进程_Java_下载.zip

    &lt;argument&gt;arg1&lt;/argument&gt; &lt;argument&gt;arg2&lt;/argument&gt; &lt;/arguments&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;!-- 可以添加更多执行配置,以启动多个进程 --&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; ``` 2....

    初中英语单词巧记PPT学习教案.pptx

    - `argue` -&gt; `argument`: 争吵 - `commit` -&gt; `commitment`: 奉献 2. **v+tion** 结尾: - `inspire` -&gt; `inspiration`: 灵感 - `pollute` -&gt; `pollution`: 污染 - `predict` -&gt; `prediction`: 预言 - `...

    dubbo.xsd分享

    复制代码 &lt;dubbo:service/&gt; 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。 eg、&lt;dubbo:service ref=...&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注册中心 ...

    词性转换总结及归纳.doc

    - `argue` -&gt; `argument`: 争吵 - `mit` -&gt; `mitment`: 奉献 - `develop` -&gt; `development`: 开展 - `govern` -&gt; `government`: 政府 2. 动词加后缀 `-tion/sion` 变为名词: - `describe` -&gt; `description`: ...

    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...

    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....

    使用maven将Java程序打包成exe文件并制作成Windows系统服务之springboot打包(一)项目代码

    &lt;argument&gt;target/${project.artifactId}-${project.version}.jar&lt;/argument&gt; &lt;/arguments&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; ``` 配置完成后,运行`mvn package`命令,Maven会生成一个可执行...

    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...

    【原创】【源代码】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 ...

    深入浅出Dubbo,微服务必学

    - `&lt;dubbo:argument/&gt;`:指定方法参数配置。 ##### 配置优先级: - 方法级配置优先级最高,接口级次之,全局配置最低。 - 同级配置中,消费者优先级高于提供者。 #### 六、服务提供者配置示例 - **配置应用程序...

    语法分析预测分析方法

    &lt;关系运算符&gt;→=|&lt;&gt;|&lt;|&lt;=|&gt;|&gt;= &lt;表达式&gt;→+&lt;项&gt;&lt;项后缀&gt; &lt;项&gt;→&lt;因子&gt;&lt;因子后缀&gt; &lt;因子&gt;→标识符|无符号整数|(&lt;表达式&gt;) &lt;项后缀&gt;→&lt;加型运算符&gt;&lt;项&gt;&lt;项后缀&gt;|ε &lt;因子后缀&gt;→&lt;乘型运算符&gt;&lt;因子&gt;&lt;因子后缀&gt;|ε &lt;加...

    一些数学符号和表达式的英文说法

    在数学的领域中,符号和表达式是表达思想和解决问题的关键工具。对于国际交流和学习,了解这些符号和表达式的英文说法至关重要。本篇将详细阐述一些常见的数学符号及其对应的英文表述,帮助读者掌握数学语言的国际化...

    Springboot项目与vue项目整合打包的实现方式

    pom.xml中为:&lt;plugin&gt; &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt; &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;exec-cnpm-install&lt;/id&gt; &lt;phase&gt;prepare-package&lt;/phase&gt; &lt;goals&gt;...

    javaweb编程中常见的异常及处理方法.doc

    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;UtilDateConverterInit&lt;/servlet-name&gt; &lt;url-pattern&gt;/utilDateConverterInit&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; ``` 通过...

    dubbo xsd的支持

    7. `&lt;dubbo:method&gt;` 和 `&lt;dubbo:argument&gt;`:细化服务方法和参数的配置,如异步调用、超时时间、重试次数等。 8. `&lt;dubbo:monitor&gt;`:配置服务监控中心,收集服务调用的统计信息。 9. `&lt;dubbo:listener&gt;`:监听...

Global site tag (gtag.js) - Google Analytics