废话不说,首先需要获得spring的上下文ApplicationContext的实现对象:ApplicationContext context。
然后在 context对象中找到RequestMappingHandlerMapping对象如代码:
RequestMappingHandlerMapping requestMappingHandlerMapping=Context.getBean(RequestMappingHandlerMapping.class);
大家查看这个对象可以看出有一个方法叫做:registerMapping。没错这个就是注册requestmapping的方法。可是参数真的很难写。所以我查看源码后得出如下代码:
Method getMappingForMethod =ReflectionUtils.findMethod(RequestMappingHandlerMapping.class, "getMappingForMethod",Method.class,Class.class);
getMappingForMethod.setAccessible(true);
通过spring的反射工具类获得getMappingForMethod方法,由于这个方法是个私有的所以我需要设置一下使用权限。这时候我们就可以通过反射调用这个方法了,如代码:
RequestMappingInfo mapping_info = (RequestMappingInfo) getMappingForMeth