先说spring-boot-dependencies的作用,就是统一管理spring-boot-starter的各个版本控制。在pom.xml再引入starter就无须引入版本号。

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.4.RELEASE</version>
</parent>

在pom.xml中的添加。

先上一下spring-boot-starter-parent源码

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.5.4</version></parent><artifactId>spring-boot-starter-parent</artifactId><packaging>pom</packaging><name>spring-boot-starter-parent</name><description>Parent pom providing dependency and plugin management for applications built with Maven</description><properties><java.version>1.8</java.version><resource.delimiter>@</resource.delimiter><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.target>${java.version}</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><url>https://spring.io/projects/spring-boot</url><licenses><license><name>Apache License, Version 2.0</name><url>https://www.apache.org/licenses/LICENSE-2.0</url></license></licenses><developers><developer><name>Pivotal</name><email>info@pivotal.io</email><organization>Pivotal Software, Inc.</organization><organizationUrl>https://www.spring.io</organizationUrl></developer></developers><scm><url>https://github.com/spring-projects/spring-boot</url></scm><build><resources><resource><directory>${basedir}/src/main/resources</directory><filtering>true</filtering><includes><include>**/application*.yml</include><include>**/application*.yaml</include><include>**/application*.properties</include></includes></resource><resource><directory>${basedir}/src/main/resources</directory><excludes><exclude>**/application*.yml</exclude><exclude>**/application*.yaml</exclude><exclude>**/application*.properties</exclude></excludes></resource></resources><pluginManagement><plugins><plugin><groupId>org.jetbrains.kotlin</groupId><artifactId>kotlin-maven-plugin</artifactId><version>${kotlin.version}</version><configuration><jvmTarget>${java.version}</jvmTarget><javaParameters>true</javaParameters></configuration><executions><execution><id>compile</id><phase>compile</phase><goals><goal>compile</goal></goals></execution><execution><id>test-compile</id><phase>test-compile</phase><goals><goal>test-compile</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><parameters>true</parameters></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><executions><execution><goals><goal>integration-test</goal><goal>verify</goal></goals></execution></executions><configuration><classesDirectory>${project.build.outputDirectory}</classesDirectory></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifest><mainClass>${start-class}</mainClass><addDefaultImplementationEntries>true</addDefaultImplementationEntries></manifest></archive></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><archive><manifest><mainClass>${start-class}</mainClass><addDefaultImplementationEntries>true</addDefaultImplementationEntries></manifest></archive></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding><delimiters><delimiter>${resource.delimiter}</delimiter></delimiters><useDefaultDelimiters>false</useDefaultDelimiters></configuration></plugin><plugin><groupId>pl.project13.maven</groupId><artifactId>git-commit-id-plugin</artifactId><executions><execution><goals><goal>revision</goal></goals></execution></executions><configuration><verbose>true</verbose><dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat><generateGitPropertiesFile>true</generateGitPropertiesFile><generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions><configuration><mainClass>${start-class}</mainClass></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><configuration><keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope><createDependencyReducedPom>true</createDependencyReducedPom><filters><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.5.4</version></dependency></dependencies><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.handlers</resource></transformer><transformer implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer"><resource>META-INF/spring.factories</resource></transformer><transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.schemas</resource></transformer><transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>${start-class}</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></pluginManagement></build>
</project>

可以看出

1.spring-boot-starter-parent的parent是spring-boot-dependencies
2.parent 的基本功能有哪些?如下

定义了 Java 编译版本,如上为 1.8。
使用 UTF-8 格式编码
maven源文件和目标文件编译的版本
执行打包操作的配置
自动化的资源过滤
自动化的插件配置
针对 application.properties 和 application.yml 的资源过滤,包括通过 profile 定义的不同环境的配置文件,例如 application-dev.properties 和 application-dev.yml

spring-boot-starter-parent和spring-boot-dependencies的作用相关推荐

  1. Spring Boot中parent标签的作用

    在Spring Boot的官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent作为parent标签 <parent><groupId&g ...

  2. Spring Cloud Hoxton正式发布,Spring Boot 2.2.x不再孤单

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 距离Spring Boot 2.2.0的发布已经有一个半 ...

  3. Spring Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单

    距离Spring Boot 2.2.0的发布已经有一个半月左右时间,由于与之匹配的Spring Cloud版本一直没有Release,所以在这期间碰到不少读者咨询的问题都是由于Spring Boot和 ...

  4. java中spring的web支持nio,Spring WebClient NIO功能和问题域,与Spring Webflux一起使用

    我正在使用最新版本的Spring - Spring 5 . 我正在开发http客户端的WebService"聚合器",有点像路由请求到外部WebServices,接收响应后接收响应 ...

  5. 手把手教你定制标准 Spring Boot starter

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 写在前面 我们每次构建一个 Spring 应用程序时,我 ...

  6. Spring Boot - 手把手教小师妹自定义Spring Boot Starter

    文章目录 Pre 自定义starter的套路 步骤 命名规范 官方命名空间 自定义命名空间 实战 创建一个父maven项目:springboot_custome_starter 创建 两个Module ...

  7. 自定义 Spring Boot Starter

    一.引言 什么是Spring Boot Starter呢?我们直接来看看官网是怎么介绍的吧. Starters are a set of convenient dependency descripto ...

  8. 快速开发一个自定义 Spring Boot Starter ,希望你也会

    来源:http://t.cn/Ai9li9fC 众所周知,Spring Boot由众多Starter组成,随着版本的推移Starter家族成员也与日俱增.在传统Maven项目中通常将一些层.组件拆分为 ...

  9. 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》

    目录 Spring Boot Starter项目创建 自动创建客户端 使用 Starter 使用注解开启 Starter 自动构建 使用配置开启 Starter 自动构建 配置 Starter 内容提 ...

  10. 【204期】图文并茂,Spring Boot Starter 万字详解!还有谁不会?

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

最新文章

  1. 服了!会 Python 找工作这么容易?
  2. 【科技】浅谈圆的反演
  3. SharePoint优秀blog文章汇总
  4. 神经网络调参经验大汇总
  5. Github 本周最有趣的 10 款「机器学习」开源项目 | PaperDaily #32
  6. boost::mp11::mp_sort_q相关用法的测试程序
  7. 7.IDA-创建结构体
  8. lunixs 退出mysql_MySQL的基本操作
  9. XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)
  10. ubuntu 14.04中安装phpmyadmin即mysql图形管理界面
  11. 【缺陷检测】基于matlab形态学水果蔬菜缺陷检测【含Matlab源码 820期】
  12. C/C++经典算法——约瑟夫问题
  13. nRF51 SDK 例程分析——Blinky Example
  14. JDBC的批处理和事务
  15. npm 同时安装同一个包的不同版本(npm@6.9 alias)
  16. WordPress个人博客Cosy3.1.3主题+积木部分插件
  17. acm题库c语言,C语言acm竞赛习题集锦.doc
  18. 权威发布 | 芝诺数据入围教育部高等教育司产学合作协同育人项目企业名单
  19. VGG16预训练学习笔记
  20. 熔断器-hystrix使用

热门文章

  1. 201506170744_《JavaScript权威指南(第六版)——函数调用变长实参和可选形参、》(P171-175)...
  2. 190314每日一句
  3. Atitit hi dev eff topic by use dsl sql coll op 提升开发效率sql dsl查询内存集合列表 目录 1.1. Dsl api lib 1 1.2. R
  4. Atitit 软件开发基本法 目录 1. 第一章 总纲(包含各大原则 定律 法则) 1 2. 爱提拉的原则 3 2.1. 简单原则 KISS 3 2.2. 提升可读性 面向人类编程 而不是面向机
  5. Atitit 操作系统原理索引 目录 1. 操作系统原理(cpu,process,mem,file,device mana) 1 1.1. 第1章 操作系统概述 1 2. 处理器管理 2 2.1.
  6. Atitit 网络设备的自动发现机制 需求如下: 1、自动获取当前设备所在网段及当前与当前网段有连接的网段的所有IP,并判断出是哪类设备。如:服务器、交换机、防火墙等。 2、如何根据第1点得到的
  7. Atitit.人力资源管理原理与概论
  8. Atitit usrQBM1603短信验证码规范
  9. Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
  10. atitit.提升开发效率---mda 软件开发方式的革命--(2)