Spring初始化
2020-05-12 15:37:29 0 举报
Spring初始化
作者其他创作
大纲/内容
BeanDefinitionRegistry简称bdr把一个bd放到bdmap
......
BeanDefinitionRegistry
....
ApplicationContextAwareProcessor
@ServiceUserService
ClassPathBeanDefinitionScanner
AnnotatedBeanDefinitionReader
BeanExpressionResolver解析bean的表达式
xxxxxxxxx
BeanFactoryPostProcessor
beanFactory应当在的一个放法,顾名思义能通过类型得到一个bean的名字,这里的type指的是bd当中描述当前class类型
RootBeanDefinitionspring内部提供的类
AnnotatedBeanDefinition描述加了注解的类
AnnotateBeanDefinition
appconfigbd
BeanDefinition
BeanDefinitionRegistry顾名思义一个bd的一个注册器
appconfig
a.a
dependencyComparator(排序)
list-BeanDefinitionRegistryPostProcessor
因为我们自己定义的BeanFactoryProcessor可以有两种方式1、实现BeanFactoryProcessor接口2、实现BeanDefinitionRegistryPostProcessor因为BeanDefinitionRegistryPostProcessor实现了BeanFactoryProcessor,于是可以猜想实现bdrp和实现bfp是能够完成不同的功能,其实也可以理解,因为bdrp是子类,他肯定扩展了bfp的功能
BeanExpressionResolver
BeanDefinition简称bd一个bean的描述
register
能够扫描一个类、包、并且转换为bd
bdr的registerBeanDefinition
BeanDefinitionHolder其实就是一个map方便传参简称bdh
spring的环境你可以把他理解为一个地区AnnotationConfigApplicationContext
MyBeanFactoryProcessorlist-BeanFactoryProcessor
AnnotatedBeanDefinitionReader顾名思义是一个bd读取器给一个类给他,他帮你转换成bd但是这个对象只能读取加了注解的类
通过一个BeanDefinition的实现类的构造方法
CAACResolver(处理延迟加载)
beanDefinitionNames是一个list存放所有的beanName
beanName
BeanFactoryPostProcessorpostProcessBeanFactory
.....
BeanDefinitionMap是一个map里面存的是bean的名字和bean的描述
spring环境中的一个工厂如果需要生产bean就需要原料和机器DefaultListableBeanFactory
getBeanNameForType
ConfigurationClassPostProcessor
bdpname、name、scopelazyFalse class...
scan
等于
otherBd
BeanDefinitionRegistryPostProcessorpostProcessBeanDefinitionRegistry(扩展)postProcessBeanFactory
BeanPostProcessor能够插手bean的实例化过程具体参考这个类的注释springfactory现在仅仅是维护了一个list的后置处理器,但是到这一步还没有用到在bean的实例化过程中会循环这个list依次来执行者list里面的后置处理器,达到插手bean的实例化过程
b.b
0 条评论
下一页