使用场景: 项目里面在做一个请求时候发现,不同的请求,有些请求会跳转到 spring mvc的自定义方法中,有些却不进去。自定义的方法:

<mvc:annotation-driven >
<mvc:argument-resolvers>
<bean class="com.zhuanche.car.web.resolver.AdminBaseFormArgumentResolver">
<property name="adminSessionUserManager" ref="adminSessionUserManager"/>
</bean>
</mvc:argument-resolvers>
</mvc:annotation-driven>
AdminBaseFormArgumentResolver 方法:
public class AdminBaseFormArgumentResolver extends BaseFormArgumentResolver {

    private static final Logger logger = LoggerFactory.getLogger(AdminBaseFormArgumentResolver.class);

    AdminSessionUserManager adminSessionUserManager;
@Override
protected SessionUser getSessionUser(NativeWebRequest webRequest) {
if(SecurityUtils.getSubject().isAuthenticated()){
String username = (String) SecurityUtils.getSubject().getPrincipal();
logger.debug("username = {}", username);
return adminSessionUserManager.getSessionUser(username);
}
throw new UnauthenticatedException("当前用户未登录");
} @Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(this.adminSessionUserManager, "property adminSessionUserManager is required.");
} public void setAdminSessionUserManager(AdminSessionUserManager adminSessionUserManager) {
this.adminSessionUserManager = adminSessionUserManager;
}
}

上网搜了后就,最终明白:这个方法是和 传的参数有关系,只要带有某一些参数或者特定的注解,就会进入自定义的方法。如果不带有,则不会进入。但是原理 真心不太明白,而且也不知道 在哪里控制的。下面的文章有类似的用法:

https://blog.csdn.net/lqzkcx3/article/details/78794636

关于 <mvc:argument-resolvers> 的一次使用记录的更多相关文章

  1. 通过拦截器Interceptor实现Spring MVC中Controller接口访问信息的记录

    java web工程项目使用了Spring+Spring MVC+Hibernate的结构,在Controller中的方法都是用于处理前端的访问信息,Controller通过调用Service进行业务 ...

  2. II7.0 发布 MVC 4.0 三个小问题记录

    1,403.14-Forbidden Web 服务器被配置为不列出此目录的内容 根据提示更改:使用 IIS 管理器启用目录浏览. 打开 IIS 管理器. 在“功能”视图中,双击“目录浏览”. 在“目录 ...

  3. Spring Mvc返回html页面404错误解决记录--转载

    原文地址:http://53873039oycg.iteye.com/blog/2061992 以前使用Spring Mvc时候都是返回jsp页面或者ftl页面,昨天想返回html页面,spring- ...

  4. Asp.net MVC通过自定义特性实现Action日志记录

    一.自定义特性 /// <summary> /// 描述特性 /// </summary> [AttributeUsage(AttributeTargets.Method)] ...

  5. ASP.NET MVC学习之Log4Net配置(日志记录)

    Log4Net配置笔记---- 首先,添加对log4net.dll的引用. 在Web.config文件下的Configuration节点下添加Log4Net的配置信息: <!--Log4Net配 ...

  6. 【SpringBoot/MVC】从Oracle下载百万条记录的CSV

    工程下载地址:https://files.cnblogs.com/files/xiandedanteng/CsvDownloadOracle20191110-2.rar 画面: 核心代码: 控制器: ...

  7. Spring MVC 解读——@RequestMapping (2)(转)

    转自:http://my.oschina.net/HeliosFly/blog/214438 Spring MVC 解读——@RequestMapping 上一篇文章中我们了解了Spring如何处理@ ...

  8. Spring MVC之源码速读之RequestMappingHandlerAdapter

    spring-webmvc-4.3.19.RELEASE 下面来看DispatcherServlet中的执行: /** * Exposes the DispatcherServlet-specific ...

  9. Spring mvc解析

    方案时间 ,写代码时间 ,解决技术难点时间 , 自测时间,解决bug时间 , 联调时间 ,数据库优化,代码走查1个接口:2个小时 把那个字段再复原回来,不然兼容性不强还有一个刷数据的接口 public ...

  10. Spring Mvc 源代码之我见 二

    上一篇简单介绍了spring mvc 的一些基本内容 和DispatcherServlet 的doc.这一篇将会继续写我对Spring Mvc 源代码的理解.直接上代码: /** * This imp ...

随机推荐

  1. destoon调用方法汇总 ---转载

    根目录.模板目录和样式目录:{DT_PATH}{DT_SKIN}导入头脚:{template 'header'}{template 'footer'}对应模块首页:{$MODULE[$moduleid ...

  2. (转)MySQL 主从复制搭建,基于日志(binlog

    原文:http://blog.jobbole.com/110934/ 什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数 ...

  3. PHP操作sqlserver乱码解决

    将捕获的参数编码转换为GB2312即可 function ($string){ returen iconv("UFT-8","GB2312//IGNORE",$ ...

  4. html5与html4区别

    1.声明方法简化,doctype.meta 2.有些元素可以省略标记,body.tbody... 3.新增语义化标签,<section><article>...<arti ...

  5. Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)

    这篇博客 是在Scala IDEA for Eclipse里手动创建scala代码编写环境. Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群模式) ...

  6. python-Event事件线程同步和互斥

    #!/usr/bin/python #coding=utf-8 #用于线程间通信,通过事件标识控制 import threading from time import sleep,ctime def ...

  7. 1-1、create-react-app 配置 mobx

    1.用npx create-react-app my-app安装项目 2.cd my-app 3.执行 npm  run eject  让配置文件可见 4.npm install --saveDev ...

  8. Understanding JVM Internals---不得不转载呀

    http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/ http://architects.dzone.com/art ...

  9. Redis(1):入门

    在Linux下安装redis: wget http://download.redis.io/redis-stable.tar.gz tax xzf redis-stable.tar.gz  cd re ...

  10. 最新的 Vue 相关开源项目库汇总

    优秀的vue 开源后台管理开源系统框架 https://panjiachen.github.io/vue-element-admin-site/#/zh-cn/README UI组件 开发框架 实用库 ...