springboot 原理探究

自动配置:

pom.xml

  • spring-boot-dependencies :核心依赖在父工程中
    在这里插入图片描述

  • 我们在写或者引入一些springboot依赖的时候,不需要指定版本,就因为有这些版本仓库启动器
    在这里插入图片描述

  • 启动器:说白了就是springboot的启动场景

  • 比如说spring-boot-starter-web,他就会帮我们自动导入web环境所有的依赖!

  • spring-boot会将所有的功能场景,变成一个个的启动器

  • 如果我们要使用什么功能,只需要找到一个个的启动器就行了

主程序

@SpringBootConfiguration:springboot的配置
	@Configuration:spring的配置类
	@Component:说明这也是一个spring的组件



@EnableAutoConfiguration:自动配置
	@AutoConfigurationPackage:自动配置包
	@Import({AutoConfigurationImportSelector.class}):导入选择器

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

结论:

  • SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值
  • 将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作;
  • 整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中;
  • 它会给容器中导入非常多的自动配置类 (xxxAutoConfiguration), 就是给容器中导入这个场景需要的所有组件 ,
    并配置好这些组件 ;
  • 有了自动配置类 , 免去了我们手动编写配置注入功能组件等的工作;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值