SpringBoot Pom文件依赖及Starter启动器详细介绍

目录
  • Pom文件的依赖
  • spring-boot场景启动器

Pom文件的依赖

我们进入POM文件,首先是看到的是Pom文件中的parent

parent是Spring Boot的框架版本控制中心

<!--    导入springboot版本和框架依赖     -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.3</version>
    <relativePath></relativePath>
</parent>

点进去看一下parent是如何控制版本的。点进去之后,发现它也有一个父工程

它的父工程为spring-boot-dependencies,看到名字应该想到,是springboot的依赖。同时还有其他东西。再点进去,看到里面有<dependencyManagement>,管理各种依赖的版本。

到这里就差不多理解了parent是如何控制版本的。

我们创建的springboot工程是spring-boot-start-parent的子工程,spring-boot-starter-parentspring-boot-denpendencies的子工程,父工程通过dependencyManagement控制了各种依赖的版本。所以当子工程导入依赖时,可以不写版本,自动使用父工程规定的版本,以此来进行版本的控制。

spring-boot场景启动器

starter:spring-boot场景启动器

我们以web启动器为例:

<!--    导入动态web场景启动器    -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

我们还是点进去看到spring-boot-starter-web的内容:

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>2.6.3</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-json</artifactId>
    <version>2.6.3</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <version>2.6.3</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.3.15</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.15</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

可以看到里面集成了web开发的其他依赖,也就是说通过添加Spring-boot-starter-web依赖,它就导入了web环境所有的依赖,只需导入starter,可自动导入web模块正常运行所依赖的组件。其他的starter也是一样的。

springboot出厂默认就写好了很多starter,如:

spring-boot-starter-activemq,spring-boot-starter-aop,spring-boot-starter-data-redis,spring-boot-starter-data-solr等

重要提示:Spring Boot将所有的绝大部分框架整合场景都进行了抽取,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关整合所需的依赖都会导入进来。

到此这篇关于SpringBoot Pom文件依赖及Starter启动器详细介绍的文章就介绍到这了,更多相关SpringBoot Pom文件依赖内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot启动器Starters使用及原理解析

    Starters是什么 Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包.如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了. Starters命名规则 Spring Boot官方的启动器都是以spring-boot-starter-命名的,代表了一个特定的应用类型.第三方的启动器不能以spring-boot开头命名,它们都

  • springboot自定义starter方法及注解实例

    目录 SpringBoot starter 自定义starter 自定义starter步骤 实现 打包测试 注解解释 SpringBoot starter 用了springboot 那么久了居然都还没自定义过starter,想想都觉得羞愧,所以今天来玩一下. SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置.star

  • springboot自定义starter启动器的具体使用实践

    目录 第一步.创建 xxx-spring-boot-starter 的spring Initializr模块 第二步.删除不需要的内容(启动类.除下面spring-boot-starter的其它依赖,maven编译插件) 第三步.写代码,对外提供一些自己写的类 第四步.在resources资源文件夹下创建一个META-INF文件夹,并创建一个spring.factories文件 第五步.将该项目发布的maven仓库,或者安装到本地仓库中让其它项目能使用的到 第六步.测试自己定义的启动器使用有效

  • 手动构建springBoot启动器过程图解

    我们都知道可以使用SpringBoot快速的开发基于Spring框架的项目.由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开发业务代码时能够非常方便的.不需要过多关注框架的配置,而只需要关注业务即可. 其实springboot的一个启动器基本上就包含两个项目,一个是spring-boot-starter,另一个是spring-boot-autoConfigure 举个Json启动器的例子,这里面包含了josn的starter和autoConfiger,因为autoC

  • springboot新建项目pom.xml文件第一行报错的解决

    目录 springboot新建项目pom.xml文件第一行报错 新建一个测试项目 下面是文件 解决这个问题只需要 springboot创建过程中pom.xml报错 问题出现原因 解决办法 springboot新建项目pom.xml文件第一行报错 新建一个测试项目 发现创建完毕pom.xml文件报错,提示 Description Resource Path Location Type Unknown pom.xml /demo line 1 Maven Configuration Problem

  • SpringBoot详细分析自动装配原理并实现starter

    目录 约定优于配置 自动装配 手写一个starter组件 约定优于配置 SpringBoot的预定优于配置主要体现在以下几个方面: maven的目录结构: 配置文件默认存放在resources目录下 项目编译后的文件存放在target目录下 项目默认打包成jar格式 配置文件默认为application.yml或application.yaml或application.properties 默认通过 spring.profiles.active 属性来决定运行环境时的配置文件. 自动装配 相对于

  • SpringBoot 如何读取pom.xml中的值

    目录 如何读取pom.xml中的值 xxx.properties读取pom.xml 读取xxx.properties文件 SpringBoot读取pom配置报错 报错原因 解决方法 如何读取pom.xml中的值 首先,Java代码中是无法直接读取pom.xml中的内容的,需要先把值转到xxx.properties中,再通过程序读取xxx.properties中对应的值. xxx.properties读取pom.xml 1.xxx.properties中 以pom.xml中的version标签为例

  • SpringBoot Starter机制及整合tomcat的实现详解

    目录 Starter机制和springboot整合tomcat Starter机制 springboot整合tomcat 总结 Starter机制和springboot整合tomcat Starter机制 先解释一下什么是Starter机制.Starter机制就是maven工程中pom文件引入了某个Starter依赖,就能使用对应的功能 例如 引入web的starter依赖 ,就可以使用有关于web方面的功能. <dependency> <groupId>org.springfra

  • SpringBoot Pom文件依赖及Starter启动器详细介绍

    目录 Pom文件的依赖 spring-boot场景启动器 Pom文件的依赖 我们进入POM文件,首先是看到的是Pom文件中的parent parent是Spring Boot的框架版本控制中心 <!-- 导入springboot版本和框架依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</art

  • springboot pom文件加入监控依赖后没有起作用的解决

    目录 pom文件加入监控依赖后没有起作用 在pom文件加入了如下依赖 在核心配置文件application.properties中添加相关配置 重新启动程序就可以看到如下actuator的相关信息 可以看到如下信息 pom.xml添加依赖时报错问题 解决 pom文件加入监控依赖后没有起作用 今天在学习springBoot的时候,想按照书上的操作了解一下监控模块 在pom文件加入了如下依赖 重启几次控制台任然不见actuator 的任何信息,后来百度一下,才了解到添加依赖只是第一步,除了添加依赖

  • spring四种依赖注入方式的详细介绍

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. spring有多种

  • springboot配置文件读取pom文件信息方式

    目录 配置文件读取pom文件信息 解决的问题 解决 修改后的写法 maven打包命令 可能会出现的一些问题 Pom文件依赖配置说明 scope依赖范围 配置文件读取pom文件信息 解决的问题 springboot(当然别的也可以)多环境切换需要修改配置文件硬编码,打包时不够方便. 解决 配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中 pom配置文件: <!-- 环境 --> <profiles> <!-- 开发 --> <

  • springboot中的pom文件 project报错问题

    目录 springboot pom文件project报错 问题如下 解决方案 pom.xml在project标签处报错:Failed to read artifact descriptor for xxx:jar 解决方案 springboot pom文件project报错 问题如下 解决方案 情况1:maven版本要和课程保持一致,网盘直接下载. 情况2:settings.xml配置要和课程保持一致,大部分都是这个地方出错了,再自已核对过一遍. 情况3:pom.xml 中的配置,自已手输或者复

  • Maven 主模块和子模块pom.xml依赖声明

    前言 今天想到了一个问题,如果一个依赖只有子模块用到了,是放入子模块的 pom.xml 呢,还是放入父模块的 pom.xml 呢? 理论上当然是子模块单独声明更符合逻辑.但是以上问题的场景来源有两个: 为了方便,或者考虑到其它子模块或许以后会用到此依赖的可能性. 单模块项目改造为多模块后,原本的依赖全部声明在父模块 pom.xml 中,考虑是否要大量迁移到用到的子模块中. 进而引申出的问题: 如果依赖全部放入父模块,部分子模块没有用到这些依赖,是否会增加这些子模块打包后的代码体积? 背景知识 d

  • 关于SpringBoot禁止循环依赖解说

    前言: Spring的Bean管理,一直是整个体系中津津乐道的东西.尤其是Bean的循环依赖,更是很多面试官最喜欢考察的2B知识点之一. 但事实上,项目中存在Bean的循环依赖,是代码质量低下的表现.多数人寄希望于框架层来给擦屁股,造成了整个代码的设计越来越糟,最后用一些奇技淫巧来填补犯下的错误. 还好,SpringBoot终于受不了这种滥用,默认把循环依赖给禁用了! 从2.6版本开始,如果你的项目里还存在循环依赖,SpringBoot将拒绝启动! 验证代码小片段: 为了验证这个功能,我们只需要

  • SpringBoot自定义starter启动器的实现思路

    目录 一.引言 二. 需求说明 三. 设计思路 四. 实现步骤 1. Step1 业务定义 2. Step2 自动配置 2.1 HelloService类 2.2 HelloProperties类 2.3 HelloServiceAutoConfiguration类 3. Step3 工厂文件 4. Step4 安装 5. Step5 引入使用 5.1 在应用中添加自定义starter依赖坐标 5.2 编写配置信息 5.3 编写测试的Controller 5.4 打开浏览器输入Controlle

  • Spring 项目常用pom文件的依赖

    properties属性 <properties> <!--使用utf-8编码--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--web--> <spring.version>4.3.14.RELEASE</spring.version> <!--数据库相关--> <mysql.version>6.0.

随机推荐