context:conponent-scan和mvc:annotation-driven的作用?

来源:互联网 发布:淘宝闲鱼下载 编辑:程序博客网 时间:2024/06/05 20:33

(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实例


RequestMappingHandlerMapping:处理@RequestMapping注解

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,不用此标签。

阅读全文
0 0
原创粉丝点击