Springboot-02-自动装配原理(附加如何修自动配置属性)

当我们初次接触到Springboot项目时,自动装配是我们接触到的第一个难点,然而我们用的时候感觉很方便极大的节省了xml的一些文件配置,但是这些底层是怎么做到的呢?让我们来攻克这个问题:
首先是,当我们启动一个springboot项目的时候,系统默认加载一个spring.factories的配置文件,如下
在这里插入图片描述
我们可以看到这个配置文件当中是一个个我们常用或者没见过的自动配置类,他们以javaconfig的方式配置注入再ioc容器当中,通过这个配置文件联系起来,我们可以称为自动配置管理中心(我自己起的名,哈哈哈),接下来加载完这个配置文件,并不会使得所有自动配置类都生效,而是每一个自动配置类都有有一个判断的条件,来判断当前是否满足自动装配的要求,@Conditional注解就是用来判断条件是否成立的,具体的步骤就是,判断当前自动配置类需要的启动器是否存在,例如下面这个web模块启动器

 <!--启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

如果存在相应的启动器,那么加载这个启动器关联的所有依赖(也就是当前自动配置类需要的所有依赖),只有需要的依赖全部存在后,自动配置即可成功开启了;

然而我们开启后,我们如果修改默认的配置或者如何扩展,增加我们自己的一些东西呢?
让我们接着往下看

修改自动配置:
我们每一个自动配置类,XXXautoConfiguration,此处我们举例为WebMvcAutoConfiguration让我们点进去,我们往下找看到
在这里插入图片描述
通过@EnableConfigurtionProperties绑定了一个配置文件,那接下来就是我们再进去配置文件,看看里面到底是什么
在这里插入图片描述

amazing,全是属性,对没错,全是属性,而且属性存在默认值,我们发现了核心,就是这个配置文件,然而,我我们如何才能修改这些个值呢?,直接让我们来确实不简单,但是开发人员为我们准备好了,看到上面的注解没@configurationProperties(prefix=“spring.mvc”),我们可以在我们的核心配置文件也就是我们自己配置的yaml文件当中去直接修改,而这个prefix后面的就是这个配置文件的可以说是序号吧,我们可以直接通过序号点属性即可修改springboot自动配置文件的默认值了;其余的自动配置类也是同理,让我们私下多看几个练习一下举一反三!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Today不上发条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值