Springboot自动配置原理

@SpringbootApplication注解是一个复合注解

  • @SpringBootConfiguration

  • @EnableAutoConfiguration

  • @ComponentScane

其中@EnableAutoConfiguration是实现自动化配置的核心注解。该注解通过@Import注解导入对应的配置选择器

@Import(AutoConfigurationImportSelector.class)

如下:

该选择器内部是读取了 该项目和该项目引用的JAR包的classpath路径下的META-INF/spring.factories文件中所配置的类的全类名。但这些配置类并不会全部导入到Spring容器中,而是根据其内部的条件如@ConditionalOnClass此类注解来决定。

样例:对于这个Redis的配置类,用@ConditionalOnClass注解判断字节码是否存在,而这个字节码只会在导入Redis相关起步依赖之后才会存在。即 依赖导入后这个配置类就会被Spring加载,从而实现自动配置。使用@ConditionalOnMissingBean注解来避免重复导入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值