Spring配置项<context:annotation-config/>解释说明

简介:

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

AutowiredAnnotationBeanPostProcessorCommonAnnotationBeanPostProcessor

PersistenceAnnotationBeanPostProcessor 以及 RequiredAnnotationBeanPostProcessor  4 BeanPostProcessor

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

例如:

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

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

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

如果想使用@PersistenceContext注解,就必须声明PersistenceAnnotationBeanPostProcessorBean

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

 
  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/> 移除了。




     本文转自mushiqianmeng 51CTO博客,原文链接:http://blog.51cto.com/mushiqianmeng/723880,如需转载请自行联系原作者


相关文章
|
1月前
|
XML Java 数据格式
解释Spring中一个bean的注入过程
解释Spring中一个bean的注入过程
|
4月前
|
JavaScript 前端开发 Java
Spring Boot中Node.js的下载与Vue CLI在IDEA中的部署及使用(图文解释 简单易懂)
Spring Boot中Node.js的下载与Vue CLI在IDEA中的部署及使用(图文解释 简单易懂)
47 0
|
9月前
|
Java 容器 Spring
解释下 Spring 支持的几种 bean 的作用域?
解释下 Spring 支持的几种 bean 的作用域?
77 0
|
9月前
|
Java Spring 容器
Spring Context
Spring Context
|
10月前
|
Java Spring 容器
Spring Context的主要作用
Spring Context的主要作用
|
10月前
|
Java Spring 容器
Spring Context接口
Spring Context接口
|
10月前
|
自然语言处理 Java Spring
Spring Context 国际化支持
Spring Context 国际化支持
|
10月前
|
Java Spring
Spring Context 资源管理
Spring Context 资源管理
|
10月前
|
Java 数据库连接 API
请解释Spring中的声明式事务管理是如何工作的?
在Spring框架中,声明式事务管理是通过使用AOP(面向切面编程)和事务拦截器来实现的。声明式事务管理允许开发者通过在方法或类级别上添加注解来定义事务的行为,而无需显式地编写事务管理的代码。
请解释Spring中的声明式事务管理是如何工作的?
|
10月前
|
XML 缓存 Java
Spring IOC源码:<context:component-scan>源码详解
Spring IOC源码:<context:component-scan>源码详解
46 0