<context:annotation-config/>,<context:component-scan/>,<mvc:annotation-driven/>区分

链接:http://blog.csdn.net/baple/article/details/16864175
链接:http://blog.csdn.net/Baple/article/details/16864835
传统的bean声明:<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>

<context:annotation-config/>
向Spring容器注册AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,
PersistenceAnnotationBeanPostProcessor,RequiredAnnotationBeanPostProcessor这4个BeanPostProcessor。
注册这4个BeanPostProcessor的作用,就是为了你的系统能够识别相应的注解。
-对于其他没有在spring容器中注册的bean,它不能起到注册bean的作用。

<context:component-scanbase-package=”xx.xx”/>

可以指定package扫描,
可以自动将带有@Autowired,@component,@service,@Repository等注解的对象注册到spring容器中的功能
隐式地在内部注册了AutowiredAnnotationBeanPostProcessor和CommonAnnotationBeanPostProcessor

-因此当使用<context:component-scan/>后,除非需要使用PersistenceAnnotationBeanPostProcessor和RequiredAnnotationBeanPostProcessor两个Processor的功能(例如JPA等)否则就可以将<context:annotation-config/>移除了。

<context:component-scanbase-package="com.baobaotao">
<context:include-filtertype="regex" expression="com\.baobaotao\.service\..*"/>
<context:exclude-filtertype="aspectj" expression="com.baobaotao.util..*"/>
</context:component-scan>

<mvc:annotation-driven/>标签可简化springmvc的相关配置,默认情况下其会创建并注册实例:

DefaultAnnotationHandlerMapping:处理器映射器@Controller(默认注册)
AnnotationMethodHandlerAdapter-:处理器适配器
StringHttpMessageConverter
ByteArrayHttpMessageConverter
XmlAwareFormHttpMessageConverter
SourceHttpMessageConverter。
FormattingConversionServiceFactoryBean-:ConversionService类型转换
NumberFormatAnnotationFormatterFactory:@NumberFormat格式化
JodaDateTimeFormatAnnotationFormatterFactory::@DateTimeFormat格式化
LocalValidatorFactoryBean:@Valid数据校验

来源:http://m.blog.csdn.net/blog/wzmmao/21990397#

时间: 2024-12-28 13:15:51

<context:annotation-config/>,<context:component-scan/>,<mvc:annotation-driven/>区分的相关文章

Spring 开启Annotation &lt;context:annotation-config&gt; 和 &lt;context:component-scan&gt;诠释及区别

Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别 <context:annotation-config> 和 <context:component-scan>的区别 <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的

Spring----注释----开启Annotation &lt;context:annotation-config&gt; 和 &lt;context:component-scan&gt;诠释及区别

来源:http://www.cnblogs.com/leiOOlei/p/3713989.html <context:annotation-config> 和 <context:component-scan>的区别 <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解. <context:component-scan>除了

严重: Context initialization failed,TypeNotPresentExcepti解决:struts注释annotation加载错误

bug记录 StrutsmavenJavaApache 系统加载时出现: 严重: Context initialization failed java.lang.TypeNotPresentException: Type javax.annotation.Resource not present Caused by: java.lang.ClassNotFoundException: javax.annotation.Resource 该错误有些说annotation需要JDK1.6以上,是缺少

Spring MVC annotation configuration

1. Web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns

Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

严重: StandardWrapper.Throwableorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping': Invocation of init method failed; nested excepti

context、config

Tomcat启动时已经创建了context,并使用它读取了web.xml中的参数,后台可以从context里获取参数 后台获取参数代码: ServletContext context = getServletContext(); String size = context.getInitParameter("size"); web.xml中参数配置: <context-param> <param-name>size</param-name> <

[转载]Difference between &lt;context:annotation-config&gt; vs &lt;context:component-scan&gt;

在国外看到详细的说明一篇,非常浅显透彻.转给国内的筒子们:-) 原文标题: Spring中的<context:annotation-config>与<context:component-scan>到底有什么不同? 原文出处:http://stackoverflow.com/a/7456501 <context:annotation-config> is used to activate annotations in beans already registered in

Spring &lt;context:annotation-config&gt; 和 &lt;context:component-scan&gt;区别

原版: https://stackoverflow.com/questions/7414794/difference-between-contextannotation-config-vs-contextcomponent-scan/ 翻译版: http://www.cnblogs.com/leiOOlei/p/3713989.html <context:annotation-config> is used to activate annotations in beans already re

Spring基础系列16 -- &lt;context:annotation-config&gt; 和 &lt;context:component-scan&gt;的区别

<context:annotation-config> 和 <context:component-scan>的区别 转载:http://www.cnblogs.com/leiOOlei/p/3713989.html <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解. <context:component-scan>除了

Spring &lt;context:annotation-config&gt; 和 &lt;context:component-scan&gt;诠释及区别

<context:annotation-config> 和 <context:component-scan>的区别 <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解. <context:component-scan>除了具有<context:annotation-config>的功能之外,<conte