SpringBoot原理

SpringBoot原理

1. run方法

SpringApplication.run()方法返回的是一个ApplicationContext对象,既然是ApplicationContext,那肯定就是做了IoC容器的初始化操作,只不过增加了一些其他的处理,比如用Watch记录初始化时间、创建上下文、刷新上下文等等。
最主要的还是refreshContext方法,该方法最终会进入到Spring核心初始化方法(refresh())中去。

2. SpringBootApplication注解

该注解是一个组合注解,其中@EnableAutoConfiguration是自动装配的核心注解,该注解使用了@Import注解导入了一个AutoConfigurationImportSelector类,该类会在Spring初始化时自动加载需要被Spring管理的对象。
在Spring容器初始化时,会进入一个BeanFactoryPostProcess后置处理器,执行相关的处理操作。大致流程就是Spring会从spring.factories文件中加载需要被Spring管理的类信息,最终是否需要加载该类还需要通过spring-autoconfigure-metadata.properties配置文件中读取相关的条件注解进行判断。
自动装配时序图如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值