采用junit test方式

1.配置  simple-test.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="requestMappingHandlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean><bean id="requestMappingHandlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
</beans>

2.Junit Test Case

package com.xxx.msa.test;import java.util.Map;
import java.util.Map.Entry;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;public class TestUrl {@Autowiredprivate static RequestMappingHandlerAdapter handlerAdapter;@Autowiredprivate static RequestMappingHandlerMapping handlerMapping;@BeforeClasspublic static void before(){ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"classpath*:config/spring/spring-main.xml", "classpath*:config/spring/springmvc/springMVC.xml","classpath*:config/spring/simple-test.xml"});handlerAdapter=(RequestMappingHandlerAdapter) ctx.getBean("requestMappingHandlerAdapter");handlerMapping=(RequestMappingHandlerMapping) ctx.getBean("requestMappingHandlerMapping");}@Testpublic void testUrls(){Map<RequestMappingInfo, HandlerMethod> handlerMethods =handlerMapping.getHandlerMethods();for (Entry<RequestMappingInfo, HandlerMethod> item : handlerMethods.entrySet()) {RequestMappingInfo mapping = item.getKey();HandlerMethod method = item.getValue();for (String urlPattern : mapping.getPatternsCondition().getPatterns()) {System.out.println(method.getBeanType().getName() + "#"+ method.getMethod().getName() + " <-- " + urlPattern);if (urlPattern.equals("some specific url")) {// add to list of matching METHODS}}}    }}

3.结果

4.延伸: 打印出符合markdown语法的表格

改写testUrl()

@Testpublic void testUrls(){System.out.println("------------以下文本复制到符合markdown语法的编辑器中------------\r\r");Map<RequestMappingInfo, HandlerMethod> handlerMethods =handlerMapping.getHandlerMethods();StringBuilder sb=new StringBuilder();sb.append("[MSA系统][1]").append("\r\n");sb.append("| 序号 | 类名 | 方法名  | URI |说明|").append("\r\n");sb.append("| :-----:|:----|:----|:----| :----|").append("\r\n");int index=1;for (Entry<RequestMappingInfo, HandlerMethod> item : handlerMethods.entrySet()) {RequestMappingInfo mapping = item.getKey();HandlerMethod method = item.getValue();sb.append("| ");for (String urlPattern : mapping.getPatternsCondition().getPatterns()) {sb.append(index+"    |").append(method.getBeanType().getSimpleName()+"    |").append(method.getMethod().getName()+"    |").append(urlPattern+"    |");if (urlPattern.equals("some specific url")) {// add to list of matching METHODS}index++;}sb.append("|\r\n");}    sb.append("![MSA测量系统][2]").append("\r\n\r\n");sb.append("[1]:http://baike.baidu.com/link?url=xTbrqN9R1f3b1nayzmLNlWRIV7qP3qg3g50ig14g68kPXIrcrgymGzniaR8Ay7g9kzLkYgPeUcHR_YxgTMESHa").append("\r\n");sb.append("[2]:http:img12.360buyimg.com/n0/jfs/t703/314/1199846466/213652/541cad01/5527d639N36f38009.jpg").append("\r\n");System.out.println(sb);}

markdown语法表格效果

[MSA系统][1]
| 序号 | 类名 | 方法名  | URI |说明|
| :-----:|:----|:----|:----| :----|
| 1    |GageCheckRecordController    |create    |/GageCheckRecord/create    ||
| 2    |GageCheckRecordController    |update    |/GageCheckRecord/update    ||
| 3    |GageCheckRecordController    |gageCheckRecordIndex    |/GageCheckRecord/list    ||
| 4    |GageCheckRecordController    |gageCheckRecordExport    |/GageCheckRecord/export    ||
| 5    |GageController    |delete    |/Gage/delete/{gageId}    ||
| 6    |GageController    |CheckConfigUpate    |/Gage/CheckConfig/update    ||
| 7    |GageController    |CheckConfigSwitch    |/Gage/CheckConfigSwitch/update    ||
| 8    |GageController    |gageNew    |/Gage/create    ||
| 9    |GageController    |gageUpdate    |/Gage/update    ||
| 10    |GageController    |findByGageId    |/Gage/{gageId}    ||
| 11    |GageController    |gageLeftList    |/Gage/list    ||
| 12    |GageController    |gageIndex    |/Gage/index    ||
| 13    |GageController    |gageCheckRecordExport    |/Gage/export    ||
| 14    |GrrAnalysisController    |create    |/GrrAnalysis/create    ||
| 15    |GrrAnalysisController    |list    |/GrrAnalysis/list    ||
| 16    |GrrAnalysisController    |getResult    |/GrrAnalysis/getResult    ||
| 17    |GrrAnalysisController    |getInput    |/GrrAnalysis/getData    ||
| 18    |GrrAnalysisController    |saveData    |/GrrAnalysis/saveData    ||
| 19    |GrrAnalysisController    |compute    |/GrrAnalysis/compute    ||
| 20    |GrrTemplateController    |index    |/GrrTemplate/index    ||
| 21    |GrrTemplateController    |createGrrTemplate    |/GrrTemplate/create    ||
| 22    |GrrTemplateController    |deleteGrrTemplate    |/GrrTemplate/delete    ||
| 23    |GrrTemplateController    |getGrrTemplate    |/GrrTemplate/get    ||
| 24    |IndexController    |totest    |/test    ||
| 25    |IndexController    |toindex    |/toindex    ||
| 26    |LoginController    |currentCompanyAccount    |/Login/currentCompanyAccount    ||
| 27    |LoginController    |login    |/Login/login    ||
| 28    |LoginController    |toLogin    |/Login/tologin    ||
| 29    |LoginController    |logout    |/Login/logout    ||
![MSA测量系统][2][1]:http://baike.baidu.com/link?url=xTbrqN9R1f3b1nayzmLNlWRIV7qP3qg3g50ig14g68kPXIrcrgymGzniaR8Ay7g9kzLkYgPeUcHR_YxgTMESHa
[2]:http:img12.360buyimg.com/n0/jfs/t703/314/1199846466/213652/541cad01/5527d639N36f38009.jpg

可以把这些东西记录在 有道云笔记中,也可以放在github中

开始做,坚持做,重复做

打印 SpringMVC中所有的接口URL相关推荐

  1. springMVC中URL中文乱码问题

    解决springMVC中URL中文乱码问题 问题: 在java控制器里面如果转发或重定向的URL中有中文,那么请求该URL时就会造成乱码,导致访问出错. 事例 @RequestMapping(&quo ...

  2. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  3. (转)SpringMVC学习(八)——SpringMVC中的异常处理器

    http://blog.csdn.net/yerenyuan_pku/article/details/72511891 SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常 ...

  4. 【SpringMVC学习11】SpringMVC中的拦截器

    Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用 ...

  5. SpringMVC中数据库链接配置

    从昨天开始一直在纠结数据库链接的问题,现在可以说才从库里面查出数据.这种感觉还是希望和大家分享一下 首先我们来看看我用ecplise创建项目的目录结构: 上面是我的目录结构,和数据库链接的都放在了ap ...

  6. java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据

    原标题:Java程序员必看之springmvc中的Model对象在重定向中的数据 在springmvc框架中,一个handler方法中的参数可以内置接收Model类型的对象,主要用于存储数据之用,主要 ...

  7. SpringMVC常用的视图接口分类及实现类

    SpringMVC中常用的视图接口分类及对应的实现类: URL资源视图:InternalResourceView.JstlView 文档视图:AbstractExcelView.AbstractPdf ...

  8. 【SpringMVC学习07】SpringMVC中的统一异常处理

    我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生.在开发中,不管是dao层 ...

  9. 【SpringMVC学习05】SpringMVC中的参数绑定总结——较乱后期准备加入 同一篇幅他人的参数绑定...

    众所周知,springmvc是用来处理页面的一些请求,然后将数据再通过视图返回给用户的,前面的几篇博文中使用的都是静态数据,为了能快速入门springmvc,在这一篇博文中,我将总结一下springm ...

最新文章

  1. 独家 | 7招帮你打造完美数据科学GitHub作品集!
  2. nginx 学习笔记(6) nginx配置文件中的度量单位
  3. android串口通讯奇偶校验,串口通讯奇偶数校验及CRC校验如何使用详解
  4. arm cortex-a8 天梯图_ARM正式推出CortexA78C核心:针对笔记本电脑设计、支持8个大核心...
  5. php地图,地图php接口
  6. idea编译android模块,Android IntelliJ IDEA 14.1:模块没有主类
  7. Python批量运行Gprmax仿真并快速提取雷达波走时和振幅
  8. 快捷指令 python_快捷指令 pythonista wifi连接上局域网(自动)唤醒主机电脑或投影仪...
  9. spring AOP 讲解
  10. python怎么后撤步_你的后撤步用对了吗? | 后撤步的目的
  11. 复旦自考 网络专业 java 上机考_上海复旦大学自考方法及考试科目
  12. matlab连接github,GitHub - chenboshuo/learn_matlab: 我的matlab学习
  13. 拓端tecdat|R语言进行数据结构化转换:Box-Cox变换、“凸规则”变换方法
  14. 欧姆龙NJ 中大型PLC高端型搭载欧姆龙NB触摸屏
  15. 赛尔号什么时候支持html5,赛尔号5月25日更新攻略汇总 赛伯斯特完全体降临
  16. 初识Java,探索神秘的它
  17. 微信小程序开发博客项目-篇幅《一》
  18. openlayers3—地图图层数据来源(ol.source)
  19. 关于三门问题的Python代码
  20. Http 400错误重现实验及解决办法

热门文章

  1. springboot mybatisplus 多数据源_【SpringBoot DB 系列】MybatisPlus 多数据源配置
  2. python软件_Python软件的下载与安装
  3. C# 处理excel 大全
  4. html块级页面居中,几个并排div的CSS / HTML居中
  5. linux 单用户模式 挂载u盘_(原创)Linux文件系统只读Read-only file system的快速解决方法...
  6. mysql自动备份工具 linux_自动备份MYSQL方法 (Linux)
  7. gparted调整分区大小_CentOS Linux系统中用parted分区命令分区
  8. 计算机应用基本技能题库,计算机应用基本技能技能考试题库.pdf
  9. 从.fig文件中提取数据
  10. mysql数据库实现修改密码代码_MySQL数据库的更改密码(附源代码)