SpringBoot理解

SpringBoot理解

一、自动装配

1.SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值

2.将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作;

3.整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中;

4.它会给容器中导入非常多的自动配置类(xxxAutoConfiguration), 就是给容器中导入这个场景需要的所有组件 ,并配置好这些组件 ;

5.有了自动配置类 ,免去了我们手动编写配置注入功能组件等的工作;

@SpringBootConfiguration: springboot的配置
@Configuration: spring配置类
@Component: 说明其是spring的一个组件
@EnableAutoConfiguration: 自动配置核心注解
@AutoConfigurationPackage: 自动配置包
@Import(AutoConfigurationPackages.Registrar.class): 自动配置包注册
@Import(AutoConfigurationImportSelector.class): 自动配置导入选择

//获取所有配置
List configurations= getCandidateConfigurations(annotationMetadata, attributes);
META-INF/spring.factories:自动配置的核心文件

xxxxAutoConfigurartion:自动配置类;给容器中添加组件
xxxxProperties:封装配置文件中相关属性;

结论:springboot所有自动配置都是在启动的时候扫描并加载:spring.factories所有的自动配置类都在这里面,但是不一定生效,需要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后配置成功

二、Run

SpringApplication

这个类主要做了以下四件事情:

1、推断应用的类型是普通的项目还是Web项目

2、查找并加载所有可用初始化器 , 设置到initializers属性中

3、找出所有的应用程序监听器,设置到listeners属性中

4、推断并设置main方法的定义类,找到运行的主类
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值