spring-boot-starter-parent 与 spring-boot-dependencies

Spring Boot的每个发布版本都会规划它所支持的依赖项。实际上,你不用指定这些依赖项的版本号,因为Spring Boot都为你管理好了。当更新Spring Boot时,会相应的更新依赖。

Maven管理依赖

Maven用户可以继承spring-boot-starter-parent项目,来获取最佳依赖。这个父项目提供了以下几个功能:

  • 默认Java 1.6编译
  • UTF-8编码格式
  • 依赖管理部分,可让你对公共依赖省略version标签。继承自spring-boot-dependencies POM。
  • 良好的资源过滤
  • 良好的插件配置
  • 对于application.properties和application.yml包括profile-specific文件,良好的资源过滤

最后一点:因为默认配置文件接受Spring风格的占位符(${}),Maven过滤器换成了@...@占位符。(可以通过Maven属性resource.delimiter替换)

继承starter parent

配置继承spring-boot-starter-parent:

 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>

只需要在这里指定Spring Boot的版本号。如果导入其他的starters,你可以完全省略版本号。

使用这个配置,你还可以通过property覆盖内部的依赖。例如,在pom.xml中升级Spring Data release train。

 <properties><spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version></properties>

可以通过spring-boot-dependencies pom,查看支持的属性列表。

不使用parent POM,配置Spring Boot

可能有人不喜欢继承spring-boot-starter-parent POM。你可能有自己的企业标准parent,或者你可能只是比较喜欢明确声明所有的Maven配置。

如果你不想使用spring-boot-starter-parent,你依然可以通过使用scope=import利用依赖管理的便利:

<dependencyManagement><dependencies><dependency><!-- Import dependency management from Spring Boot --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.1.3.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

这种方式不能使用property的形式覆盖原始的依赖项。要达到同样的效果,需要在dependencyManagement里面的spring-boot-dependencies之前添加依赖的东西。例如,要升级Spring Data release train,pom.xml应该是这样的:

<dependencyManagement><dependencies><!-- Override Spring Data release train provided by Spring Boot --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-releasetrain</artifactId><version>Fowler-SR2</version><scope>import</scope><type>pom</type></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.1.3.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenMP并行化傅里叶变换

设计思想 傅里叶变换&#xff0c;表示能将满足一定条件的某个函数表示成三角函数&#xff08;正弦和/或余弦函数&#xff09;或者它们的积分的线性组合。在不同的研究领域&#xff0c;傅里叶变换具有多种不同的变体形式&#xff0c;如连续傅里叶变换和离散傅里叶变换。 快速傅…

windows各种文件操作、系统相关的命令行脚本

目录 写在前面文件操作命令说明遍历文件并写进txt按行读取txt并文件计数文件重命名 参考完 写在前面 1、本文内容 windows各种文件操作、系统相关的命令行脚本 请保存为.bat运行 2、平台 windows10 3、转载请注明出处&#xff1a; https://blog.csdn.net/qq_41102371/article/…

《零基础入门学习Python》第047讲:魔法方法:定制序列

0. 请写下这一节课你学习到的内容&#xff1a;格式不限&#xff0c;回忆并复述是加强记忆的好方式&#xff01; 常言道&#xff1a;“无规矩不成方圆”&#xff0c;讲的是万事万物的发展都要在一定的规则下去运行&#xff0c;只有遵循一定的协议去做&#xff0c;事情才能够按照…

如何将一个目录下的所有md文件导出成pdf

要将一个目录下的所有Markdown&#xff08;.md&#xff09;文件导出为PDF&#xff0c;您可以使用Node.js进行编程来实现。以下是一种可能的方法&#xff1a; 首先&#xff0c;您需要设置Node.js环境并安装依赖项。在命令行中导航到您的项目目录&#xff0c;并运行以下命令&…

前端js防抖

一、原生js防抖 <!DOCTYPE html> <html> <head><title>防抖按钮示例</title> </head> <body><button id"immediateButton">立即触发</button><button id"waitButton">等候触发</button&g…

Stream实现List和Map互转总结

本文来说下Stream实现List和Map互转总结 文章目录 实体类Map转List代码List转Map代码 实体类 本篇介绍Stream流List和Map互转&#xff0c;同时在转换过程中遇到的问题分析。 package cn.wideth.collect;import lombok.AllArgsConstructor; import lombok.Data; import lombok.N…

GAMES101作业2

文章目录 作业内容Step 1. 创建三角形的2维bounding boxStep 2. 判断bBox中的像素中心点是否在三角形内Step 3. 比较插值深度和Depth BufferMSAA 作业内容 在屏幕上画出一个实心三角形&#xff0c; 换言之&#xff0c;栅格化一个三角形。上一次作业中&#xff0c;在视口变化之…

二次元少女-InsCode Stable Diffusion 美图活动一期

一、 Stable Diffusion 模型在线使用地址&#xff1a; https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型相关版本和参数配置&#xff1a; 模型版本&#xff1a;chilloutmix_NiPrunedFp32Fix.safetensors 采样方法(Sampler)Sampling method&#xff1a;DPM SDE …

2023年经典【自动化面试题】附答案

一、请描述一下自动化测试流程&#xff1f; 自动化测试流程一般可以分为以下七步&#xff1a; 编写自动化测试计划&#xff1b; 设计自动化测试用例&#xff1b; 编写自动化测试框架和脚本&#xff1b; 调试并维护脚本&#xff1b; 无人值守测试&#xff1b; 后期脚本维…

C#如何控制IIS动态添加删除网站详解

目的是在Winform程序里面&#xff0c;可以直接启动一个HTTP服务端&#xff0c;给下游客户连接使用。 查找相关技术&#xff0c;有两种方法&#xff1a; 1.使用C#动态添加网站应用到IIS中&#xff0c;借用IIS的站群软件管理能力来提供HTTP接口。本文即对此做说明 2.在Winform…

【UE4 塔防游戏系列】07-子弹对敌人造成伤害

目录 效果 步骤 一、让子弹拥有不同伤害 二、敌人拥有不同血量 三、修改“BP_TowerBase”逻辑 四、发射的子弹对敌人造成伤害 效果 步骤 一、让子弹拥有不同伤害 为了让每一种子弹拥有不同的伤害值&#xff0c;打开“TotalBulletsCategory”&#xff08;所有子弹的父类…

【Spring Boot】Web开发 — Web开发简介

Web开发简介 首先介绍Spring Boot 提供的Web组件spring-boot-starter-web&#xff0c;然后介绍Controller和RestController注解&#xff0c;以及控制数据返回的ResponseBody注解&#xff0c;最后介绍Web配置&#xff0c;以便让读者对使用Spring Boot开发Web系统有初步的了解。…

linux下一个iic驱动(按键+点灯)-互斥

一、前提&#xff1a; 硬件部分&#xff1a; 1. rk3399开发板&#xff0c;其中的某一路iic&#xff0c;这个作为总线的主控制器 2. gd32单片机&#xff0c;其中的某一路iic&#xff0c;从设备。主要是按键上报和灯的亮灭控制。&#xff08;按键大约30个&#xff0c;灯在键的…

送呆萌的她一个皮卡丘(Python实现)

目录 1 呆萌的她 2 思维需要革新 3 送她的一个漂亮皮卡丘 4 Python完整代码奉上 1 呆萌的她 又是一季春风暖阳下, 你是一湾一湾羞涩的春波。 静静感受着&#xff0c; 你垂下的枝膊 在我的脸上轻轻抚摸 一对春燕,低低掠过 涟漪乍起&#xff0c;是你浅浅的笑窝...... 2 思…

(五)「消息队列」之 RabbitMQ 主题(使用 .NET 客户端)

0、引言 先决条件 本教程假设 RabbitMQ 已安装并且正在 本地主机 的标准端口&#xff08;5672&#xff09;上运行。如果您使用了不同的主机、端口或凭证&#xff0c;则要求调整连接设置。 获取帮助 如果您在阅读本教程时遇到问题&#xff0c;可以通过邮件列表或者 RabbitMQ 社区…

56 # 实现 pipe 方法进行拷贝

pipe 是异步的&#xff0c;可以实现读一点写一点&#xff0c;管道的优势&#xff1a;不会淹没可用内存&#xff0c;但是在导入的过程中无法获取到内容 const fs require("fs"); const path require("path");fs.createReadStream(path.resolve(__dirname…

前端 | (七)浮动 | 尚硅谷前端html+css零基础教程2023最新

学习来源&#xff1a;尚硅谷前端htmlcss零基础教程&#xff0c;2023最新前端开发html5css3视频 文章目录 &#x1f4da;浮动介绍&#x1f407;元素浮动后的特点&#x1f407;浮动小练习&#x1f525;盒子1右浮动&#x1f525;盒子1左浮动&#x1f525;所有盒子都浮动&#x1f5…

Python 闭包 装饰器

闭包定义&#xff1a;在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包. 下面实现一个在执行方法的前后打印日志的场景 第一种方法装饰器 1.定义外层函数(要求…

vscode 添加 ros头文件

解决 vscode不能支持ROS相关头文件和没有智能提示问题 vscode 编写pakage源文件代码,#include<ros/ros.h>等头文件时报错,无法运行智能提示 1.vscode中CTRL+P 2.键入ext install ms-iot.vscode-ros 按回车,等待下载ros插件 3.修改c_cpp_properties.json文件 鼠标…

数学建模 插值算法

有问题 牛顿差值也有问题它们都有龙格现象&#xff0c;一般用分段插值。 插值预测要比灰色关联预测更加准确&#xff0c;灰色预测只有2次 拟合样本点要非常多&#xff0c;样本点少差值合适