首页 > 其他分享 >spring xml配置文件之context:annotation-config

spring xml配置文件之context:annotation-config

时间:2023-12-15 09:16:13浏览次数:26  
标签:xml 配置文件 spring 声明 context Spring 注解 config annotation

我们一般在含有Spring的项目中,可能会看到配置项中包含这个配置节点context:annotation-config。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config/>

</beans>

这一条配置会向Spring容器中注册:

  • AutowiredAnnotationBeanPostProcessor
  • CommonAnnotationBeanPostProcessor
  • PersistenceAnnotationBeanPostProcessor
  • RequiredAnnotationBeanPostProcessor

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

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

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

如果想使用@Autowired注解,那么就必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。

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

同样,传统的声明方式如下:

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

但是,就一般而言,这些注解我们是经常使用,比如Antowired,Resuource等注解,如果总是按照传统的方式一条一条的配置,感觉比较繁琐和机械。于是Spring给我们提供了context:annotation-config/的简化的配置方式,自动帮助你完成声明,并且还自动搜索@Component , @Controller , @Service , @Repository等标注的类。

<context:component-scan base-package="com.**.impl"/>

当我们使用 context:component-scan 后,就可以将 context:annotation-config 移除了。

 

标签:xml,配置文件,spring,声明,context,Spring,注解,config,annotation
From: https://www.cnblogs.com/xfeiyun/p/17902614.html

相关文章

  • Spring系列:基于Spring-AOP和Spring-Aspects实现AOP切面编程
    目录一、概念及相关术语概念相关术语①横切关注点②通知(增强)③切面④目标⑤代理⑥连接点⑦切入点作用二、基于注解的AOP技术说明准备工作创建切面类并配置各种通知切入点表达式语法重用切入点表达式获取通知的相关信息环绕通知切面的优先级三、基于XML的AOP准备工作实现一、概念......
  • spring cloud生态中Feign、Ribbon、loadbalancer的一些历史
    背景本意是想写个feign中loadbalancer组件和nacos相遇后,一个兼容相关的问题,后面发现Feign这套东西很深,想一篇文章写清楚很难,就先开一篇,讲历史。Feign、OpenFeign、SpringCloudOpenFeignFeignFeign是Java生态中的一个库,这个库的官方目标是:FeignmakeswritingJavahttpclie......
  • SpringBoot+MyBatis-Plus没有扫描到Mapper的问题
    一、问题:WARN22052---[      main]ConfigServletWebServerApplicationContext: NoMyBatismapperwasfoundin'[xxx.xxx.xxxx]'package.Pleasecheckyourconfiguration.WARN22052---[      main]ConfigServletWebServerApplicationConte......
  • Spring-第四章:Spring注解配置
    四、Spring注解配置1、IoC注解1.1常用注解1.2数据装配1.3其他bean的引用1.4集合的装配1.5生命周期1.6实例化时机&scope作用域2、AOP注解......
  • springboot032 图书馆管理系统-计算机毕业设计源码+LW文档
    摘 要随着社会的发展,计算机的优势和普及使得阿博图书馆管理系统的开发成为必需。阿博图书馆管理系统主要是借助计算机,通过对图书借阅等信息进行管理。减少管理员的工作,同时也方便广大用户对所需图书借阅信息的及时查询以及管理。阿博图书馆管理系统的开发过程中,采用B/S架构,主......
  • tmux配置文件.tmux.conf (tmux 3.0a)
    本文是基于tmux3.0a进行的配置,使用tmux-V可查看版本下面是配置文件内容,在家目录下创建.tmux.conf,并粘贴下面内容保存后,进入tmux,ctrl+b,然后输入命令:source-file~/.tmux.conf即可(或在bash下执行tmuxsource~/.tmux.conf)。因为下面的命令中,bind了r作为source-file~/.tmu......
  • Spring-第二章:IoC容器
    二、IoC容器1、IoCIoc必须要添加的四个包2、DI3、第一个程序4、IoC容器的类型5、数据装配toString方法不是构造方法不同bean之间的引用使用refArray:数组值可重复Set:集合值不可重复Map:键值对6、bean生命周期6.1练习......
  • 实现XML与JSON转换,实测这个方法最便捷
    XML和JSON是当今最常用的两种数据格式,在数据交换和存储领域占有重要地位。XML以其树状结构和可扩展性被广泛使用,而JSON则以其轻量级和易读性受到开发者的青睐。有时候,为了更好地利用它们的优点解决数据共享、数据处理和数据存储等问题,我们需要将这两种格式进行转换。本文将介绍如......
  • Spring Cloud Gateway的Filter中如果有耗时操作应该如何处理?
    1,如果不处理,会大大影响吞吐量;2,springcloudgateway是reactive的编码风格,改造代码难度很大,很不习惯;3,springcloudgateway使用事件线程处理一个http请求4,事件线程比较少(参考nettyeventloop),不能有耗时操作,否则影响吞吐量;5,springcloudgateway可以使用一个异步线程池:boundedE......
  • spring boot项目中org.springframework.boot.autoconfigure.AutoConfiguration.import
    一、resource下的文件org.springframework.boot.autoconfigure.AutoConfiguration.importsspring.factoriesmessages_zh_CN.properties二、spring.factories文件我们知道在springboot项目中,只要用注解@Configuration、@Bean、@Compont等注解标注的类springboot会自动为......