当前位置: 首页 > news >正文

孙哥Spring源码第18集

第18集 refresh()-invokeBeanFactoryPostProcessor-二-ConfigurationClassPostProcessor的处理逻辑

【视频来源于:B站up主孙帅suns Spring源码视频】【微信号:suns45】

1、为什么@PropertySource先处理?

因为@Conponent A在处理的过程中 要把A的属性进行填充,先 处理@PropertySource属性的值就得到保证。

2、为什么@Component还要有@Service、@Controller、@Repository?

语义化

3、ComponentScan会扫描那些类?

@Component【@Service、@Controller、@Repository】
@Configuration【非ApplicationContext启动时候,非AppConfig类的@Configuration】
并且处理了@Component上面的@Lazy @Primary @DependOn等等注解。

4、invokeBeanFactoryPostProcessor的处理过程

5、AppCofig中@Comfiguration的解析过程

A:解析内部类@Component的处理

image-20230512112027753

B:处理配置文件@PropertyResource

image-20230512112041432 image-20230512112115468

C:@ComponentScan解析分析

image-20230512112054519

D:处理@Import

image-20230512112152450

E:所有的处理过程

image-20230512101142375

6、processImports-importSelector的处理过程

image-20230512100910706

7、总结第18集

1、ConfigurationClassPostProcessor的处理过程,先处理自动配置,然后处理@PropertySource,接着处理@ComponentScan会处理@Configuration和@Component会进行注册成为BeanDefinition 这里需要注意@Configuration并非第一个AppConfig的@Configuration,接着就是处理三种@Import。

http://www.lryc.cn/news/156183.html

相关文章:

  • 【STM32】文件系统FATFS与Flash的初步使用
  • Android Glide in RecyclerView,only load visible item when page return,Kotlin
  • 【SCI征稿】3个月左右录用!计算机信息技术等领域均可,如机器学习、遥感技术、人工智能、物联网、人工神经网络、数据挖掘、图像处理
  • Golang 中的 crypto/ecdh 包详解
  • 系统学习live555
  • Linux下的系统编程——进程的执行与回收(八)
  • 第十九章 ObjectScript - 执行例程
  • Podman安装与使用
  • C++ 嵌套循环
  • 锁( ReentrantLock,Synchronized)
  • 主频计算-架构真题(二十三)
  • docker安装redis实操记录
  • MobaXterm 突破14个session限制
  • 使用Redisson实现高并发抢红包
  • 【网络编程】TCP/IP协议(互联网的基石)
  • 【VS Code插件开发】自定义侧边栏、视图(六)
  • lv3 嵌入式开发-8 linux shell脚本函数
  • 国际版阿里云腾讯云免费开户:服务器怎样转移
  • 区块链实验室(20) - FISCO控制台连接到指定的节点
  • 网络渗透day10-工具和技术
  • SSE 和 WebSocket 应用
  • mac帧 arp
  • java面试题-Redis相关面试题
  • 你用过 Maven Shade 插件吗?
  • Android 后台启动Activity适配
  • 使用element-ui中的el-table回显已选中数据时toggleRowSelection报错
  • Ubuntu18.04系统下通过ROS控制Kinova真实机械臂-多种实现方式
  • 聊聊如何玩转spring-boot-admin
  • rocky(centos) 安装redis,并设置开机自启动
  • Flask狼书笔记 | 06_电子邮件