Spring-context-ConfigurationClassBeanDefinitionReader类
关于BeanDefinitionReader接口特性请看这里
注:ConfigurationClassBeanDefinitionReader修饰符是default,所以在我们自己的类中是提示不出来的,只在和它同包的其他类中使用
切记,这个类并不是BeanDefinitionReader接口的子类,虽然名字很像,以及里面的方法很像,这点,在ConfigurationClassBeanDefinitionReader类注释中有说明,它说BeanDefinitionReader接口是对Resource的操作,而ConfigurationClassBeanDefinitionReader是对configuration class的操作,而且BeanDefinitionReader很早很早之前就出现了
作用:将ConfigurationClass(模型类)变成BeanDefinition,注册到BeanDefinitionRegistry当中
方法解释
1.loadBeanDefinitionsForConfigurationClass
根据模型类的条件不同,所以转换成不同的BeanDefinition
2.loadBeanDefinitionsFromRegistrars
private void loadBeanDefinitionsFromRegistrars(Map<ImportBeanDefinitionRegistrar, AnnotationMetadata> registrars) {for (Map.Entry<ImportBeanDefinitionRegistrar, AnnotationMetadata> entry : registrars.entrySet()) {// entry.getValue()会获取到AspectJAutoProxyRegistrar类// 该类会判断EnableAspectJAutoProxy注解,若存在该注解,则创建AnnotationAwareAspectJAutoProxyCreatorentry.getKey().registerBeanDefinitions(entry.getValue(), this.registry);}}
此处会判断ConfigurationClass类上是否有@EnableAspectJAutoProxy注解,如果有,则创建AnnotationAwareAspectJAutoProxyCreator类并且注入到容器中
时机:在ConfigurationClassPostProccessor的接口方法processConfigBeanDefinitions中,该方法中不但new了ConfigurationClassBeanDefinitionReader,并且调用ConfigurationClassBeanDefinitionReader的方法loadBeanDefinitions
Spring-context-ConfigurationClassBeanDefinitionReader类相关推荐
- java spring context_java将对象注册到spring context中 | 学步园
很多时候需要从spring中取出相应的对象,很多时候又需要将对象注入到spring context中. 小卒碰到了这样的问题.在构件中有DAO. 其他构件需要复用这个DAO,但是连接配置各不相同,并且 ...
- 17、Spring Boot普通类调用bean【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/52013017 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个 ...
- Spring context:component-scan代替context:annotation-config
Spring context:component-scan代替context:annotation-config XML: <?xml version="1.0" encod ...
- Spring JDBC-NamedParameterJdbcTemplate模板类
概述 示例 BeanPropertySqlParameterSource 使用示例 MapSqlParameterSource使用示例 NamedParameterJdbcTemplate 支持 in ...
- spring管理的类如何调用非spring管理的类
spring管理的类如何调用非spring管理的类. 就是使用一个spring提供的感知概念,在容器启动的时候,注入上下文即可. 下面是一个工具类. 1 import org.springframew ...
- spring boot 启动类
做项目用到spring boot 感觉spring boot用起来比较流畅.想总结一下,别的不多说,从入口开始. spring boot启动类Application.class 不能直接放在main/ ...
- Arthas实践--获取到Spring Context,然后为所欲为
背景 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. https://github.com/alibaba/arthas Arthas提供了非常丰富的关于调用拦截的命令,比如 ...
- java 普通类request_[Java教程]spring在普通类中获取session和request
[Java教程]spring在普通类中获取session和request 0 2014-08-12 08:01:13 在使用spring时,经常需要在普通类中获取session,request等对像. ...
- SSM框架笔记08:初探Spring——采用配置类与注解方式
初探Spring--采用配置类与注解方式 在上一讲的项目基础上继续. 不仅采用注解方式,而且用配置类替换Spring配置文件. 1.将xml_annotation包里的两个接口和四个类 ...
- Spring源码系列- Spring Beans - 核心类的基本介绍
Spring源码系列- Spring Beans - 核心类的基本介绍 读过上一篇文章的读者应该都能对Spring的体系结构有一个大致的了解,在结尾处,我也说过会从spring-beans包开始分析, ...
最新文章
- 11门满分、10门99分、47门超95分……他却说自己是“学zha”
- BNU44583——Star Trek: First Contact——————【01背包】
- 浅谈ASP.NET的内部机制(二)
- STC51-数码管显示
- 32位linux时间戳,32位unix时间戳哪一年用尽
- Scala 类型、数值类型及类型转换
- FINEMVC重定向和显示合计
- 用UltraISO制作CentOS的DVD光盘启动盘 安装系统
- 制作动态微信二维码名片python
- Python学习笔记—— 面向对象4.类属性、类方法、静态方法
- 数学建模——时间序列预测(股价预测)
- 电力-涌流抑制与谐波
- 爱一个人,爱到八分最相宜
- SpringBoot整合SpringDataElasticSearch 完成地理搜索 附近人搜索 距离搜索
- 一位台湾学校校长的演讲
- [BJDCTF 2nd]燕言燕语-y1ng解析
- OpenCV-Python 级联分类器训练 | 六十三
- 10.1日NOIP模拟赛
- Openresty宏观概述笔记
- LA@线性方程组解的结构@Cramer法则@高斯消元法