Spring Boot自动配置原理

Spring Boot自动配置原理
第一种方法加载配置类:
当@SpringBootApplication启动,它内部的注解 @EnableAutoConfiguration
对所有spring.factories 中以EnableAutoConfiguration为key
以xxxxAutoConfiguration为value进行加载进来,然后一个个进行初始化或创建
@EnableAutoConfiguration在对它进行反射处理的过程中,它借助SpringFactoriesLoader对Classpath:/META-INF/spring.factories下面的一些配置进行加载,
在这里插入图片描述
该注解内部有注解@EnableAutoConfigyration
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当@EnableAutoConfiguration
对所有spring.factories 中以EnableAutoConfiguration为key
以xxxxAutoConfiguration为value进行加载进来,然后一个个进行初始化或创建
例如:这是mybatis的自动配置类
在这里插入图片描述
在这里插入图片描述
(上面第一行为key,下面的为value)

Java Config中有很多注解,常用的如下:

@configuration //代表该配置是一个Java Config

@ConditionalOnMissingBean //如果不存在这个Bean,就配置这个Bean,在用户配置同样bean的情况下,该bean是不生效的

@ConditionalOnProperty //如果你开启某个配置,那这个bean就会创建(或者初始化),反之,则不创建

@ConditionalOnClass //在某些类存在的情况下,才会创建Bean,例如:
在这里插入图片描述

第二种方法加载配置类:
通过Enablexxxxx加载自动配置
@EnableAsync
在这里插入图片描述
在加载@EnableAsync的时候会引入AsyncConfigurationSelector,而AsyncConfigurationSelector通过一些参数动态加载一些Configuration
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值