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

(1):让Spring容器扫描指定包,并注册被@Component,@Controller,@Service,@Repository等注解标记的组件


接口BeanDefinitionParser下与组件扫描相关的类ComponentScanBeanDefinitionParser将注解解析成bean实例


(2):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):隐式的告诉容器扫描注解,一般用conponent-scan,不用此标签。

你可能感兴趣的:(ssm框架)