转自:https://blog.csdn.net/techbirds_bao/article/details/9241371

在基于主机方式配置Spring的配置文件中,你可能会见到<context:annotation-config/>这样一条配置,他的作用是式地向 Spring 容器注册

AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、

PersistenceAnnotationBeanPostProcessor 以及 RequiredAnnotationBeanPostProcessor 这 4 个BeanPostProcessor。

注册这4个 BeanPostProcessor的作用,就是为了你的系统能够识别相应的注解。

例如:

如果你想使用@Autowired注解,那么就必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。传统声明方式如下:

  1. <bean class="org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor "/>

如果想使用@ Resource 、@ PostConstruct、@ PreDestroy等注解就必须声明CommonAnnotationBeanPostProcessor

如果想使用@PersistenceContext注解,就必须声明PersistenceAnnotationBeanPostProcessor的Bean。

如果想使用 @Required的注解,就必须声明RequiredAnnotationBeanPostProcessor的Bean。同样,传统的声明方式如下:

  1. <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>

一般来说,这些注解我们还是比较常用,尤其是Antowired的注解,在自动注入的时候更是经常使用,所以如果总是需要按照传统的方式一条一条配置显得有些繁琐和没有必要,于是spring给我们提供<context:annotation-config/>的简化配置方式,自动帮你完成声明。

不过,呵呵,我们使用注解一般都会配置扫描包路径选项

  1. <context:component-scan base-package=”XX.XX”/>

该配置项其实也包含了自动注入上述processor的功能,因此当使用 <context:component-scan/> 后,就可以将 <context:annotation-config/> 移除了。

最新文章

  1. SAS学习笔记&lt;一&gt;
  2. WebView WebViewClient WebChromeClient
  3. win10-golang环境变量设置
  4. C# 基础(6)--Winform
  5. php读取大文件的方法
  6. IOS 作业项目(4)步步完成 画图 程序(中)
  7. 在程序中使用gettid()的方法
  8. C#WebBrowser控件使用教程与技巧
  9. Linux系统编程(19)——正则表达式在sed和awk中的使用
  10. C++基础学习笔记----第四课(函数的重载、C和C++的相互调用)
  11. Spring Resource之应用上下文和资源路径
  12. 田螺便利店—filezilla实现Linux和windows通信(二)
  13. handle java
  14. Golang的类型断言
  15. 07-nodejs中npm的使用
  16. 点击a标签不跳转的办法
  17. [Java学习]面向对象-package;内部类;UML图表示六种关系
  18. js自定制周期函数
  19. Ubuntu 最好用的CHM阅读器KchmViewer
  20. Error message: “&#39;chromedriver&#39; executable needs to be available in the path”

热门文章

  1. find ... -exec ... {} \; 的解释
  2. vim with space-vim
  3. UEFI下windows启动过程
  4. 第13课:HTML基础之DOM操作2
  5. JSON.js 源码学习..
  6. A Simple Makefile Tutorial
  7. 从HDU2588:GCD 到 HDU5514:Frogs (欧拉公式)
  8. graphql-yoga 项目简单使用&amp;&amp;集成docker
  9. clamav完整查杀linux病毒实战(转)
  10. linux中bin与sbin目录的作用及区别介绍