Spring注解配置分析(六)——@Bean注解分析

  通过前面的分析,@Bean 注解的方法会 ConfigurationClassParser 的 parse 方法中添加到对应的配置类的 beanMethods 集合中。 @Bean 注解是用来代替之前 XML 配置 bean 对象,为了让容器管理 bean, 那么还需要将 @Bean 注解方法转化成合适的 BeanDenifition 注入到 BeanFactory 中才算是完成了对 @Bean 注解的解析。 @Bean 注解的处理流程如下:

  1. ConfigurationClassProcessor 的 processConfigBeanDefinitions 方法是用来解析配置的方法。其中会调用 ConfigurationClassParser 的 parse 方法解析配置类
  2. parse 方法中将 @Bean 注解的方法添加到配置类的 beanMethods 集合中
  3. 回到 processConfigBeanDefinitions 方法中,调用 ConfigurationClassBeanDefinitionReader 的 loadBeanDefinitions 方法,这个方法中会将所有 Bean method 注册到 beanfactory 中,还有 ImportResource 和 importBeanDefinitionRegistrar 中的类也会被处理。
  4. 构造 ConfigurationClassBeanDefinition, 配置类会作为一个工厂类, @Bean 方法作为工厂方法,之后通过工厂方法实例化对象
  5. 将 ConfigurationClassBeanDefinition 添加到 beanFactory

  通过对 @Bean 以及之前那些注解的解析,可以将大部分类的 BeanDenifition 添加到 BeanFactory 中,等待之后的实例化和初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值