Spring 3.0.x中使用了< mvc:annotation-driven >後,默認會幫咱們註冊默認處理請求,參數和返回值的類,其中最主要的兩個類:DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter ,分別爲HandlerMapping的實現類和HandlerAdapter的實現類,從3.1.x版本開始對應實現類改成了RequestMappingHandlerMapping和RequestMappingHandlerAdapter。mvc
實現類RequestMappingHandlerMapping,它會處理@RequestMapping 註解,並將其註冊到請求映射表中。app
實現類RequestMappingHandlerAdapter,則是處理請求的適配器,肯定調用哪一個類的哪一個方法,而且構造方法參數,返回值。.net
當配置了< mvc:annotation-driven />後,Spring就知道了咱們啓用註解驅動。而後Spring經過< context:component-scan />標籤的配置,會自動爲咱們將掃描到的@Component,@Controller,@Service,@Repository等註解標記的組件註冊到工廠中,來處理咱們的請求。code
<mvc: annotation-driven message-codes-resolver="bean name" validator="bean name" conversion-service="bean name" ignoreDefaultModelOnRedirect="true or false"> <mvc:message-converters> <bean></bean> </mvc:message-converters> <mvc:argument-resolvers> <bean></bean> </mvc:argument-resolvers> <mvc:return-value-handlers> <bean></bean> </mvc:return-value-handlers> </mvc:annotation-driven>