(1)<context:conponent-scan basePackage=""/>:让Spring容器扫描指定包,并注册被@Component,@Controller,@Service,@Repository等注解标记的组件。
接口BeanDefinitionParser下与组件扫描相关的类ComponentScanBeanDefinitionParser将注解解析成bean实例。
(2)<mvc:annotation-driven/>:Spring会自动为我们注册下面说到的几个Bean到工厂中,来处理我们的请求(前两个是重点)
接口BeanDefinitionParser下的与mvc注解驱动相关的类org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParse下,注册了下面8个bean实例
2 BeanNameUrlHandlerMapping:将controller的类名映射成请求url
3 RequestMappingHandlerAdapter:处理@Controller注解的处理器,支持自定义方法参数和返回值(很酷)
4 HttpRequestHandlerAdapter:处理继承HttpRequestHandler的处理器
5 SimpleControllerHandlerAdapter:处理继承自Controller接口的处理器
6 ExceptionHandlerExceptionResolver:处理异常的解析器
7 ResponseStatusExceptionResolver
8 DefaultHandlerExceptionResolver
(3)<context:annotation-config/>:隐式的告诉容器扫描注解,一般用conponent-scan,不用此标签。