SpringBoot2版本起步依赖原理以及加载默认配置解析

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配
置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入
了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。
所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编
写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。
除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要
分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开
发进度。
SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑
业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短
了项目周期。
注意(SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式)

pom引入依赖
在这里插入图片描述
maven是有依赖传递的所以我们只引入了这三个,但是依赖传递的作用就会自动帮我们引入
在这里插入图片描述
我们进入pom文件进入parent中的坐标可以看到

在这里插入图片描述
再次点进去就会发现,这个dependencies中其实就是一个依赖管理库
在这里插入图片描述
坐标的版本以及坐标都会在这个pom中去声明,所以我们在使用SpringBoot中快速开发其实就是使用到了maven的依赖传递的特性,让工程非常快的执行.

自动配置原理:
首先就拿启动端口以及配置工程名举例
可以看到我们在入口上是需要配置一个入口配置SpringBootAppclication这个配置包含了有:
在这里插入图片描述
@EnableAutoConfiguration(关键点) 点进去查看
在这里插入图片描述
点进去AutoConfigurationImportSelector 这个类
查看这个方法,就会查看到对应的 有一个META-INF/Spring.factories
那么就判断在源码包中肯定是有一个此配置的
在这里插入图片描述

在这里插入图片描述

查看这个配置文件有什么

在这里插入图片描述

找几个最常见的servlet 它们统一的后缀名称 AuutoConfiguration
在这里插入图片描述
在这里插入图片描述
这个类就会去加载默认的配置
在这里插入图片描述

当然我们也可以自定义去配置去覆盖这些默认的加载信息 只要符合SpringBoot的规范都是可以做到的
在SpringBoot引入的parent的pom文件中就会有这样的加载方式,如果配置就会读取,并覆盖默认值
在这里插入图片描述
配置:
在这里插入图片描述

在这里插入图片描述

可以看出当前访问端口以及工程名已经发生了改变
在这里插入图片描述

测试成功
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值