Spring解析@Configuration注解的配置类的过程

栏目: Java · 发布时间: 8年前

内容简介:Spring解析@Configuration注解的配置类的过程

在spring-context-xxx.RELEASE.jar的如下方法定义了spring解析@Configuration注解的配置类的过程

ConfigurationClassParser.doProcessConfigurationClass()

先递归处理成员类中(inner class)的定义

处理@PropertySource注解

处理@ComponentScan注解

处理@Import 注解

处理@ImportResource注解

处理每个@Bean 注解的方法

处理父类中的注解

本文由javacoder.cn整理,转载注明出处

对于@Import,可以导入@Configuration注解的其他类,或者实现ImportSelector接口的类(当然也可能是子类DeferredImportSelector,用于延迟解析), 或者实现ImportBeanDefinitionRegistrar接口的类。

ImportSelector唯一方法声明如下

String[] org.springframework.context.annotation.ImportSelector.selectImports(AnnotationMetadata importingClassMetadata)

ImportSelector只是一个查找器, 返回表示@Configuration注解的类的名称的数组

ImportBeanDefinitionRegistrar接口声明的方法如下

ImportBeanDefinitionRegistrar.registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)

向BeanDefinitionRegistry注册对应的BeanDefinition

Posted in:spring practise


以上所述就是小编给大家介绍的《Spring解析@Configuration注解的配置类的过程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python Algorithms

Python Algorithms

Magnus Lie Hetland / Apress / 2010-11-24 / USD 49.99

Python Algorithms explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it......一起来看看 《Python Algorithms》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换