context:conponent-scan和mvc:annotation-driven的作用?
2017-07-12 12:17
232 查看
(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实例
1 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,不用此标签。
接口BeanDefinitionParser下与组件扫描相关的类ComponentScanBeanDefinitionParser将注解解析成bean实例。
(2)<mvc:annotation-driven/>:Spring会自动为我们注册下面说到的几个Bean到工厂中,来处理我们的请求(前两个是重点)
接口BeanDefinitionParser下的与mvc注解驱动相关的类org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParse下,注册了下面8个bean实例
1 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,不用此标签。
相关文章推荐
- <mvc:annotation-driven/>、<context:component-scan base-package=""/>、<context:annotation-config/>的用法
- Spring配置文件详解:<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven />
- <context:component-scan/>和<mvc:annotation-driven/>的区别
- Spring配置 <context:component-scan/> <mvc:annotation-driven />
- <context:component-scan/>和<mvc:annotation-driven/>的区别
- <mvc:annotation-driven/> <context:annotation-config/> <context:component-scan>
- Spring配置 <context:component-scan/> <mvc:annotation-driven />
- <context:annotation-config/>,<mvc:annotation-driven/>和<context:component-scan>之间的关系
- 请教<context:component-scan/>和<mvc:annotation-driven/>的区别20
- <context:annotation-config/>,<context:component-scan/>,<mvc:annotation-driven/>区分
- Spring配置 <context:component-scan/> <mvc:annotation-driven />
- <context:component-scan>扫描@Component @Controller@Service注解的的类 <mvc:annotation-driven />启用注解
- <context:component-scan/>和<mvc:annotation-driven/>区别
- <context:component-scan/> <mvc:annotation-driven /> 区别
- <context:annotation-config/>,<mvc:annotation-driven/>和<context:component-scan>之间的关
- 剖析<context:component-scan/>、<mvc:annotation-driven/>
- Spring配置 <context:component-scan/> <mvc:annotation-driven />
- SpringMVC - <context:annotation-config/>与<mvc:annotation-driven/>和<context:component-scan>
- Spring mvc——接收对象Json数据,<mvc:annotation-driven/><context:annotation-config/><context:component-scan/>
- <context:annotation-config/>,<mvc:annotation-driven/>和<context:component-scan>之间的关系