SpringBoot自动装配原理

BFPP:BeanFactoryPostProcessor
BPP:BeanPostProcessor
BDRPP:BeanDefinitionRegistryPostProcessor
1、springboot自动装配是什么,解决了什么问题?

  • SpringBoot自动装配就是为了从spring.factories中获取到需要自动装配的类,并生成相应的Bean对象,然后交给Spring容器进行管理。
    2、自动装配实现的原理
  • 当启动springboot应用程序的时候,会先创建SpringApplication的对象,在对象的构造方法中会进行某些参数的初始化工作,最主要的是判断当前应用程序的类型以及初始化器和监听器,在这个过程中会加载整个应用程序中的spring.factories文件,将文件的内容放到缓存对象中,方便后续获取。
  • SpringApplication对象创建完成后,开始执行run方法,来完成整个启动过程,启动过程中最主要的有两个方法,第一个prepareContext,第二个交refreshContext,在这两个关键步骤中完成了自动装配的核心功能,前面的处理逻辑包含了上下文对象的创建,banner的打印,异常报告器等各个准备工作,方便后续来进行调用。
  • 在prepareContext方法中主要完成的是对上下文对象初始化操作,包括属性值的设置,比如环境对象,在整个过程中有一个非常重要的方法,叫做load,load方法主要完成一件事,将当前去启动类作为一个benDefinition注册到registry中,方便后续在进行BeanFactoryPostProcessor调用执行的时候,找到对应的主类,来完成@SpringBootApplication,@EnableAutoConfiguration等注解的解析工作。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容