spring boot自动装配原理

  • 默认的主启动类
    在这里插入图片描述 - @SpringBootApplication
    作用:标注在某个类上说明这个类是SpringBoot的主配置类 , SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
  • @ComponentScan
    作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中
  • @SpringBootConfiguration
    作用:SpringBoot的配置类 ,标注在某个类上 , 表示这是一个SpringBoot的配置类;
  • @EnableAutoConfiguration
    @EnableAutoConfiguration :开启自动配置功能
    @EnableAutoConfiguration告诉SpringBoot开启自动配置功能,这样自动配置才能生效;
    @AutoConfigurationPackage :自动配置包
    @import :Spring底层注解@import , 给容器中导入一个组件
    Registrar.class 作用:将主启动类的所在包及包下面所有子包里面的所有组件扫描到Spring容器 ;
    @Import({AutoConfigurationImportSelector.class}) :给容器导入组件 ;
    AutoConfigurationImportSelector :自动配置导入选择器

结论:

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

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

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

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

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

  • SpringApplication.run分析

分析该方法主要分两部分,一部分是SpringApplication的实例化,二是run方法的执行;

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

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

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

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

4、推断并设置main方法的定义类,找到运行的主类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值