Spring <context:annotation-config/> 解说

在spring中,如果我们想使用注解开发,那么我们是需要创建对应的类的,即创建一个对应的bean对象,例如

  1. 若要使用@Autowired注解,那么必须创建(声明)(即注入到IOC容器中)

    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor "/>
    
  2. 以此类推,若要使用@Resource、@PostConstruct、@PreDestroy等注解就必须声明CommonAnnotationBeanPostProcessor类

  3. 若想使用 @PersistenceContext 注解,就必须声明PersistenceAnnotationBeanPostProcessor的Bean。

  4. 若想使用 @Required 的注解,就必须声明RequiredAnnotationBeanPostProcessor的Bean。

注册这4个BeanPostProcessor的作用,就是为了你的系统能够识别相应的注解。那么, 当我们开发时难道一个一个去声明吗? 这就破坏了轮子理论(哈哈)

于是聪明的Spring就给我们提供了 <context:annotation-config/> 这种简化配置的方式,它会自动帮我们完成这些声明。不过我们一般不用它,我们一般用 <context:component-scan base-package="com.xxx"/> 因为它不仅有上面的功能,还具有自动扫描以及自动注册bean的功能

posted @ 2022-04-06 13:58  朱在春  阅读(52)  评论(0编辑  收藏  举报