spring mvc 配置之 context:annotation-config vs component-scan
<context:annotation-config/>
spring的注解@Resource、@Autowire, @Required and @Qualifier 等注解只是一个提示,并没有完成背后的工作,这个配置就是在spring 上下文容器中注入支持这些注解的工具类:AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor、RequiredAnnotationBeanPostProcessor
<context:component-scan base-package="com.xxx" />
上面的配置主要为了简化spring bean的配置,以往所有的bean 都需要在xml文件中注解,该配置会扫描所有base-packgage中的被注解的类,来完成bean的配置。会扫描的注解:@Component
、@Repository、@Service、@Controller
其次: component-scan除了扫描的作用,也会做annotation-config相同的事情,支持注解:@Resource、@Autowire, @Required and @Qualifier ;所以如果配置了component-scan 就不用再配置annotation-scan
附录:
1、 annotation-config
2、annotion-config vs component-scan
--------------------------------------------------------------------天道酬勤!