前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot的pom.xml之starter

SpringBoot的pom.xml之starter

作者头像
叫我阿杰好了
发布2022-11-07 13:21:53
4790
发布2022-11-07 13:21:53
举报
文章被收录于专栏:一切总会归于平淡

目录

1、前言

2、正文

3、小结

4、总结


1、前言

今天这篇博客主要是了解一下starter是什么东西?

2、正文

  我们打开一个SpringBoot项目,进入到它的pom.xml文件。

  这里有两个spring-boot-starter-webspring-boot-starter-test,我们来看一下。

  我们就点击spring-boot-starter-web进入看一下。

  我们从最后一个开始看,我们直接看到spring-webmvc

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.14</version>
    <scope>compile</scope>
</dependency>

  这就是SpringMVC能工作起来的原因。

  哦,我导了spring-boot-starter-web,而spring-boot-starter-web导了spring-webmvc,所以我不用导spring-webmvc,这不就套娃嘛。

  这就是一个典型的依赖传递。因为A依赖了B,而B又依赖了C,所以A就不用直接写了,直接就可以用C里面的内容。

  我们到这就知道了,一个starter可以代表加入了很多东西,干嘛用的呢?如果你使用A技术的东西,那你就只用导入A技术的stater就行了,其他的东西也不需要你管了,SpringBoot帮你管了

  为什么SpringBoot这么好用,就是因为有很多个这样的Stater供我们使用,才让我们的开发效率变高的。

  那这个Stater什么时候加进来的呢?

  就是我们创建SpringBoot项目的时候选择技术集的时候加入进来的,而spring-boot-starter-test是默认加入进来的。

  那到底是不是它帮我们做的这些事情呢?我们来验证一下。

   然后刷新一下Maven,我们运行一下SpringBoot01Application。

  好家伙,导入的依赖全部都不存在了,controller都运行不起来了。

  当然了,Stater的作用远不止导入依赖这么简单。

3、小结

1、starter   1.1 SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的。 2、parent   2.1 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的。    2.2  spring-boot-starter-parent各版本间存在着诸多坐标版本不同。 3、实际开发  3.1 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V  3.2 如发生坐标错误,再指定Version(要小心版本冲突)

  当然了,SpringBoot并不是所有依赖都有(例如druid),如果遇到有哪些依赖没有的,就要用到最原始的方式导入依赖了。  

4、总结

4.1 开发SpringBoot程序需要导入坐标时通常导入对应的starter

4.2 每个不同的starter根据功能不同,通常包含多个依赖坐标

4.3 使用starter可以实现快速配置的效果,达到简化配置的目的

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、前言
  • 2、正文
  • 3、小结
  • 4、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档