前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot从0到实战3:了解依赖管理、自动配置

SpringBoot从0到实战3:了解依赖管理、自动配置

作者头像
程序员洲洲
发布2024-06-06 21:43:49
1170
发布2024-06-06 21:43:49
举报
文章被收录于专栏:项目文章

依赖管理

  • 父项目做依赖管理: 依赖管理:声明了所有开发中常用的依赖的版本号,自动版本仲裁机制。(依赖传递性原则)
代码语言:javascript
复制
依赖管理(在入门的项目中使用下面这一段代码即可,starter是一组开发依赖的集合)
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
</parent>

他的父项目
 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.3.4.RELEASE</version>
  </parent>

声明了所有开发中常用的依赖的版本号,自动版本仲裁机制。 如果有一天对仲裁的版本不满意,那么在xml文件中写一段把自己想要的版本放入代码中即可,可以自定义修改版本号。 修改版本号步骤: 查看spring-boot-dependencies里面规定的当前依赖的版本用的key。 然后在项目里面重写配置即可。如下面代码所示修改了mysql的版本号。

代码语言:javascript
复制
<properties>
        <mysql.version>5.1.43</mysql.version>
    </properties>
  • 开发导入starter场景启动器

1、见到很多 spring-boot-starter-* : *就是代表某种场景 例如:spring-boot-starter-web等。

2、只要引入starter,这个场景的所有常规需要的依赖我们都自动引入。

3、SpringBoot所有支持的场景,可以参考springboot的官方文档,除此之外还有第三方starter,如果还有其他场景可以使用自己创建的starter或第三方starter等。

代码语言:javascript
复制
https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter

4、见到的 *-spring-boot-starter: 一般这样的写法是第三方为我们提供的简化开发的场景启动器。

5、对于所有的starter场景启动器最底层的依赖,这个就是springboot最核心的底层依赖。

代码语言:javascript
复制
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.3.4.RELEASE</version>
  <scope>compile</scope>
</dependency>
  • 以后引用默认依赖可以不写版本号。
  • 但引入非版本仲裁的jar需要写清楚依赖的版本号。

自动配置

SpringBoot自动配置:

  • 自动配置好Tomcat 1、引入Tomcat依赖。 2、配置Tomcat。
  • 自动配置好SpringMVC开发的全套组件 1、引入SpringMVC全套组件。 2、自动配好SpringMVC常用组件(功能) 在以前web.xml中以前要自己配置很多SpringMVC的东西。
  • 自动配置好Web的常见使用功能,例如字符编码的问题 1、配置好了Web开发的常见场景功能。
  • 默认的包结构 1、主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来,无需以前的包扫描配置 2、想要改变扫描路径 @SpringBootApplication(scanBasePackages=“com.atguigu”) 或者@ComponentScan 指定扫描路径,这个时候可以改变包的扫描路径,主程序外的包也可以运行了。 同时注意到:
代码语言:javascript
复制
@SpringBootApplication
等同于以下三个
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.atguigu.boot")
  • 各种配置拥有默认值 1、默认配置最终都是映射到某个类上如:MultipartProperties 2、配置文件的值最终会绑定每个类上,这个类会在容器中创建对象
  • 按需加载所有自动配置项 1、非常多的starter,但是只会打开引入哪个场景所对应的配置,在starter中有一个包叫做autoconfigure,所有的场景配置都写在里面了。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖管理
  • 自动配置
    • SpringBoot自动配置:
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档