SpringBoot的原理

起步依赖的原理

起步依赖的原理就是Maven的 依赖传递

只要引入springboot的一个起步依赖,那其他的依赖呢 就会自动的通过maven的依赖传递,传递进来

自动配置的原理

方案1:

代码测试:

方案2:

前三种代码测试:

第四种代码测试:

@SpringBootApplication源码跟踪:

源码跟踪的技巧:

大家在以后的工作中或者学习中可能会遇到很多的框架,然后想去看下框架的源码,那在跟踪框架的源码的时候呢,大家一定抓住关键点,找到核心流程,一定不要从头到尾一行代码一行代码去看,一个方法一个方法去研究,一定要找到关键流程抓住关键点,先在宏观上对整个流程或者说整个原理有个认识,然后有精力的话再去研究其中个细节。

 

@SpringBootConfiguration 、@EnableAutoConfiguration 、@ComponentScan

第一个注解:@SpringBootConfiguration 

主要是声明当前类也是个配置类

@SpringBootConfiguration 注解里面有两个注解:@Configuration   声明配置类

                                                                                @Indexed    加速应用启动的(这个不用关心)

个注解:@ComponentScan

就是组件扫描的注解

个注解:@EnableAutoConfiguration 

就是SpringBoot实现自动化配置的核心注解

一般@Enable开头这类的注解它底层封装的就是@Import注解,通过@Import来导入指定的bean或者配置类

看下AutoConfigurationEntry对象的getAutoConfigurationEntry方法封装了什么数据

然后看下AutoConfigurationEntry封装了什么信息

看下List下封装的两个文件

找到

META-INF/spring.factories

META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

这两个文件

总结:

关于 @Conditional 这类的注解

代码测试1:

测试2:

测试3:

总结:

自定义starter(起步依赖)

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值