SpringBoot自动配置

1.依赖管理:

当我们在创建springboot项目时,我们只引入了一个springboot父项目,和一个starter-web依赖,几乎我们所有的包都有,我们无需关系我们的导包问题.其中父项目就涵盖了这个依赖,用作依赖管理,子项目只要继承这个依赖,其父项目所有的jar包,子项目都会涵盖.

依赖管理如何控制版本号?

在我们引入的父项目,它也有一个父项目

其中几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制

其中声明了很多jar包版本依赖,所以我们不需要去导入很庞大的jar包和版本号

若我们想引入mysql的jar包,则不需要版本号

只需在pom文件声明不需要版本号

  默认版本为8.0.21

若我们想修改默认的mysql版本驱动,我们可以利用maven提供的特性,就近优先原则,我们只需要在maven仓库 找到我们需要的版本,在配置的pom文件中 <properties>内声明我们自己想要的版本号,重写配置

例如修改mysql版本为      5.1.20

开发导入starter场景启动器

1、所见到很多 spring-boot-starter-* : *就某种场景,例如web场景
2、只要引入 spring-boot-starter-web,这个场景的所有常规需要的依赖我们都自动引入
3、SpringBoot所有支持的场景,见官方文档
Developing with Spring Boot
4、所见到的  *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。
5、所有场景启动器最底层的依赖
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.3.4.RELEASE</version>
  <scope>compile</scope>
</dependency>

 像springboot官方给我们提供的     spring-boot-starter-web

 查看分析树

 web的场景启动器,将web相关的各种依赖都导入了

1、引入依赖默认都可以不写版本
2、引入非版本仲裁的jar,要写版本号

自动配置:

 自动配置做的哪些事情?

我们将spring-boot-starter-web 场景启动器添加后,就自动添加了spring-boot-starter-tomcat所有关于tomcat的jar包都已经配置好了

同时spring-boot-starter-web 也将springMvc等相关的全套的组件已经配置好例如dispatchservlet和过滤器filter.和文件上传等等

获取一下所有容器组件名字后台打印

 

 

 

 

默认的包结构

主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来,无需以前的包扫描配置

想要改变扫描路径,在主类上面添加 @SpringBootApplication(scanBasePackages="包名")或者@ComponentScan 指定扫描路径

 

@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("路劲")

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

今天你学习了ma

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

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

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

打赏作者

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

抵扣说明:

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

余额充值