SpringIOC之配置类注解的核心流程

Spring中的注解类会被解析成BeanDefinition,经历实例化、属性注入和初始化过程。@ComponentScan通过ClassPathBeanDefinitionScanner扫描指定路径下的组件。@Bean注解在BeanFactoryPostProcessor后置处理阶段被解析。核心概念包括配置加载、生命周期、AOP模块和Web处理(MVC)。
摘要由CSDN通过智能技术生成

本文先介绍@Bean涉及到的核心类和核心方法 以及执行流程

个人总结:

配置类注解 与 模式注解 在Spring中是核心注解 它们在Bean生命周期中的作用如下:

Spring中的注解标注的 Class 类都会被解析成 BeanDefinition(Bean 的“前身”),然后实例化为早期Bean,再进行Bean的属性注入,最后会被初始化成完整Bean对象(如果需要代理则会创建Bean代理对象)。

对于XML配置的Bean,比注解配置的Bean,多了前期的几步:

加载配置资源文件,解析资源文件 ,后面的流程一致都统一解析成 BeanDefinition

对应模式注解

ClassPathBeanDefinitionScanner 扫描器,去扫描指定路径下符合条件的 BeanDefinition 们,这个类就是处理 @Component 注解定义 Bean 的底层实现。@ComponentScan 注解的原理也是基于这个扫描器来实现的

对于配置类注解

创建BeanFactory 后会调用所有的 BeanFactoryPostProcessor 处理器对其进行后置处理。@Bean 注解就是在这个过程被解析的,解析过程大致就是遍历所有的 BeanDefinition,如果其内部包含 @Bean 标注的注解,则会将该方法解析出一个 BeanDefinition 对象并注册。当然,除了 @Bean 注解外,例如 @ComponentScan、@Import、@ImportResource、@PropertySource 注解都是在该过程中进行解析的

主要流程如下图所示:

总的来说:spring核心有四块需要深入掌握

  1. 配置加载 (XML配置和注解配置)

  1. 生命周期(Bean的 和 容器本身的)

  1. 增强拓展 (AOP模块)

  1. Web处理 (MVC模块)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值