spring-boot-starter-parent和spring-boot-dependencies的作用
先说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的作用相关推荐
- Spring Boot中parent标签的作用
在Spring Boot的官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent作为parent标签 <parent><groupId&g ...
- Spring Cloud Hoxton正式发布,Spring Boot 2.2.x不再孤单
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 距离Spring Boot 2.2.0的发布已经有一个半 ...
- Spring Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单
距离Spring Boot 2.2.0的发布已经有一个半月左右时间,由于与之匹配的Spring Cloud版本一直没有Release,所以在这期间碰到不少读者咨询的问题都是由于Spring Boot和 ...
- java中spring的web支持nio,Spring WebClient NIO功能和问题域,与Spring Webflux一起使用
我正在使用最新版本的Spring - Spring 5 . 我正在开发http客户端的WebService"聚合器",有点像路由请求到外部WebServices,接收响应后接收响应 ...
- 手把手教你定制标准 Spring Boot starter
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 写在前面 我们每次构建一个 Spring 应用程序时,我 ...
- Spring Boot - 手把手教小师妹自定义Spring Boot Starter
文章目录 Pre 自定义starter的套路 步骤 命名规范 官方命名空间 自定义命名空间 实战 创建一个父maven项目:springboot_custome_starter 创建 两个Module ...
- 自定义 Spring Boot Starter
一.引言 什么是Spring Boot Starter呢?我们直接来看看官网是怎么介绍的吧. Starters are a set of convenient dependency descripto ...
- 快速开发一个自定义 Spring Boot Starter ,希望你也会
来源:http://t.cn/Ai9li9fC 众所周知,Spring Boot由众多Starter组成,随着版本的推移Starter家族成员也与日俱增.在传统Maven项目中通常将一些层.组件拆分为 ...
- 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》
目录 Spring Boot Starter项目创建 自动创建客户端 使用 Starter 使用注解开启 Starter 自动构建 使用配置开启 Starter 自动构建 配置 Starter 内容提 ...
- 【204期】图文并茂,Spring Boot Starter 万字详解!还有谁不会?
点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...
最新文章
- 服了!会 Python 找工作这么容易?
- 【科技】浅谈圆的反演
- SharePoint优秀blog文章汇总
- 神经网络调参经验大汇总
- Github 本周最有趣的 10 款「机器学习」开源项目 | PaperDaily #32
- boost::mp11::mp_sort_q相关用法的测试程序
- 7.IDA-创建结构体
- lunixs 退出mysql_MySQL的基本操作
- XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)
- ubuntu 14.04中安装phpmyadmin即mysql图形管理界面
- 【缺陷检测】基于matlab形态学水果蔬菜缺陷检测【含Matlab源码 820期】
- C/C++经典算法——约瑟夫问题
- nRF51 SDK 例程分析——Blinky Example
- JDBC的批处理和事务
- npm 同时安装同一个包的不同版本(npm@6.9 alias)
- WordPress个人博客Cosy3.1.3主题+积木部分插件
- acm题库c语言,C语言acm竞赛习题集锦.doc
- 权威发布 | 芝诺数据入围教育部高等教育司产学合作协同育人项目企业名单
- VGG16预训练学习笔记
- 熔断器-hystrix使用
热门文章
- 201506170744_《JavaScript权威指南(第六版)——函数调用变长实参和可选形参、》(P171-175)...
- 190314每日一句
- Atitit hi dev eff topic by use dsl sql coll op 提升开发效率sql dsl查询内存集合列表 目录 1.1. Dsl api lib	1 1.2. R
- Atitit 软件开发基本法 目录 1. 第一章 总纲(包含各大原则 定律 法则)	1 2. 爱提拉的原则	3 2.1. 简单原则 KISS	3 2.2. 提升可读性 面向人类编程 而不是面向机
- Atitit 操作系统原理索引 目录 1. 操作系统原理(cpu,process,mem,file,device mana)	1 1.1. 第1章 操作系统概述	1 2. 处理器管理	2 2.1.
- Atitit 网络设备的自动发现机制 需求如下: 1、自动获取当前设备所在网段及当前与当前网段有连接的网段的所有IP,并判断出是哪类设备。如:服务器、交换机、防火墙等。 2、如何根据第1点得到的
- Atitit.人力资源管理原理与概论
- Atitit usrQBM1603短信验证码规范
- Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
- atitit.提升开发效率---mda 软件开发方式的革命--(2)