@RestController @RequestMapping("/employee") public class Employee { @RequestMapping("/save") public void saveEmployee() { // saving employee } }
如何在@RequestMapping内部将请求映射到saveEmployee方法?
@RequestMapping
saveEmployee
在应用程序启动期间,Spring将Bean通过XML Config,Java Config或Component Scanning 识别所有s并将它们存储在中ApplicationContext。
Bean
ApplicationContext
Spring Boot为您自动配置许多Bean,包括RequestMappingHandlerMapping。
初始化此Bean时,它将在ApplicationContext中扫描所有带注释的Bean @Controller。
@Controller
然后,对每个Controllerbean进行迭代,并查找带有注释的方法@RequestMapping。最后,它将这些映射/处理程序对保留在MappingRegistry中
Controller
该DispatcherServlet是你的应用程序中心HTTP请求处理程序,它会搜索在ApplicationContext为实现任意豆HandlerMapping接口,其中RequestMappingHandlerMapping豆做(通过继承的方式)。
DispatcherServlet
HandlerMapping
RequestMappingHandlerMapping
然后遍历这些bean,要求它们为该请求解析相应的处理程序。该RequestMappingHandlerMappingbean将通过解决处理程序搜索的MappingRegistry。
MappingRegistry
找到匹配项后,将最终调用处理程序方法。