SpringBoot自动装配原理剖析

原理初探

  • 每次SpringBoot启动的时候 都会自动加载运行类的一些默认配置

  • 我们可以查看我们需要的配置有没有在启动的时候进行自动配置

  • 如果我们的配置没有在配置中,我们可以在properties中进行自动配置

  • SpringBoot的每一个配置类都绑定了@configurationProperties的注解

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DUIw0iiR-1626516318192)(C:\Users\machenike\AppData\Roaming\Typora\typora-user-images\image-20210717174250742.png)]

  • 我们在properties中配置的某一个类的某一个属性,都会通过这个注解自动装配到指定的类种,并对这个类的默认值进行替换

    xxxxAutoConfigratin :自动配置类 用来提供给容器添加属性或更改属性的方法

    xxxxproperties:封装了配置文件中的属性

    除此之外 我们可以通过设置debug=true的方式 来查看我们程序运行后 SpringBoot给我们启动了哪些类

debug=true

启动的类中一共分了三类

  • Positive matches: 启动的类

  • Negative matches:未启动的类

  • Unconditional classes:条件不足的类

它通过我们程序中import的包 来判断给我们配置需要启动的类

而未启动的类则是我们程序中没有用到的 它自动默认不启动

条件不足的类 我们可以通过添加启动器的依赖 来满足它启动的环境 前提是我们的确需要它

总结

每一个类的自动装配 都需要由对应的META-INF下的spring.farctories中进入 然后一级一级 直到找到xxxxproperties.class 就算找到了它的配置类,而我们的配置文件也就是和这个类进行了绑定、自动装配

在这里插入图片描述

这也是SpringBoot自动装配的核心 通过@ConfigrationProperties这个注解 实现配置绑定 从而达到自动装配的目的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值