spring--容器初始执行 new AnnotationConfigApplicationContext(Appconfig)到底何时执行到扫描appcofig定义的包扫描的其他bean的

–spring执行到扫描appcofig定义的包扫描,所先通过确定javaconfig配置类由他构建了个解析器,后面使用

在这里插入图片描述
进入构造可以看到,其内部还维护构建了个 组件浏览注解解析器 ComponentScanAnnotationParser
在这里插入图片描述

后下面do whlie中有:
			parser.parse(candidates);--candidates就是Set<BeanDefinitionHolder> candidates(就是appconfig的bean定义类)

在这里插入图片描述

1.问题,sprng 上下文的 默认bean 5或7 个是什么时候放入的??
在这里插入图片描述
–即要找到 谁在哪里调用,注册bean信息的,如下:
在这里插入图片描述
上下文的父类维护了个bean 工厂(这个工厂中的map就是定义 了bean的类信息的),所以debug看在何时最先的调用此 工厂中 的注册bean的方法 regeisterBeanDefinition(xx)
在这里插入图片描述
下面,根据调用站分析:
在这里插入图片描述

那这几个spring默认的几个bean中一个很重要的bean --ConfigurationClassPostProcessor
其实现了xxx,又是在哪里被生成可以用的bean 的(算是提前就给初始号的)–
下面一篇分析—
在这里插入图片描述

发布了29 篇原创文章 · 获赞 0 · 访问量 395

猜你喜欢

转载自blog.csdn.net/qq_39965727/article/details/103929790