RequestMapping注解实现过程

RequestMapping注解实现过程1.DispatchServlet.java 这个加载的时候,会首先加载配置文件生成属性
RequestMapping注解实现过程其配置文件名为
private static final String DEFAULT_STRATEGIES_PATH = “DispatcherServlet.properties”;
我们可以看看这个配置里面handlermapping的配置是什么
RequestMapping注解实现过程

2.requestMapping注解是MVC容器初始化的时候实现的。容器初始化最后一步initStrategies->initHandlerMappings 这里对handlermapping进行实例化.如果我们没有自定义handlermapping,那么就会加载配置里面默认的handlermapping.并实例化bean对象,代码截图如下RequestMapping注解实现过程3.在实例化handlermapping过程中,会有初始化Bean的操作。由于其是InitializingBean子类。会调用afterPropertiesSet接口。而这个接口正是对容器内所有Bean描述的起始点RequestMapping注解实现过程4.下一步看其afterPropertiesSet是如何实现的。RequestMappingHandlerMapping类的afterPropertiesSet接口,最终是调用其父类AbstractHandlerMethodMapping的afterPropertiesSet接口实现RequestMapping注解实现过程
5.下面看其核心实现processCandidateBeanRequestMapping注解实现过程6.下面就是对Method的扫描了
RequestMapping注解实现过程这里会针对符合条件的类,扫描其所有public接口,并交由getMappingForMethod接口处理。当处理完成之后,对获取所有的RequestMapping注解方法,保存到Map中去。之后有servlet请求则可以根据path直接invoke接口RequestMapping注解实现过程RequestMapping注解的加载实现就到这里了