十六:Spring Boot依赖 (1)-- spring-boot-starter 依赖详解
-
1. 简介:
-
spring-boot-starter是 Spring Boot 项目中的基础启动器依赖,它为开发者提供了 Spring Boot 应用所需的核心功能和自动配置 -
spring-boot-starter不是一个具体的功能模块,而是一个基础的启动器。 -
Spring Boot 提供了一系列的
starter依赖,这些starter本质上是将相关的依赖打包成一个集合,使得开发者无需关注具体的依赖版本。
-
-
2. 引入:
- 在创建springBoot项目时,自动就引用了
- maven:pom.xml
-
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
-
-
3. 的工作原理:
-
在 Spring Boot 中,
starter主要是为了简化依赖管理,特别是针对一些常见的功能(如 Web 开发、数据访问、消息队列等)。 -
例如,
spring-boot-starter-web会自动引入 Spring MVC、Tomcat 等 Web 相关的依赖,spring-boot-starter-data-jpa会自动引入 Spring Data JPA 和 Hibernate 相关的依赖。 -
对于
spring-boot-starter,它主要包括一些基础的功能模块,帮助你启动和运行一个 Spring Boot 应用。你通常不会单独使用它,而是会将其与其他更具体的功能starter结合使用。
-
-
4.spring-boot-starter的核心功能:-
自动配置:Spring Boot 的核心理念之一是自动配置。
spring-boot-starter会根据你的类路径和配置,自动提供合适的默认配置。例如,如果你的类路径中包含spring-boot-starter-web,Spring Boot 会自动配置 Spring MVC 和 Tomcat,而无需手动配置DispatcherServlet、EmbeddedServletContainer等。 -
嵌入式 Web 服务器支持:
spring-boot-starter包含了嵌入式 Web 服务器(如 Tomcat、Jetty、Undertow),并且这些 Web 服务器会自动被集成到 Spring Boot 应用中。你不需要独立安装和配置服务器,它会作为应用的一部分直接启动。 -
日志配置:Spring Boot 使用 Logback 作为默认日志框架,并会自动配置应用的日志级别、格式等。如果你没有配置日志,Spring Boot 会提供一个合理的默认配置。
-
默认配置文件加载:Spring Boot 自动加载位于
src/main/resources下的配置文件,如application.properties或application.yml。这些配置文件可以用来配置应用的各种参数,如端口号、数据库连接、日志设置等。 -
集成 Spring Boot DevTools(如果启用了相应的
starter):如果你引入了spring-boot-devtools作为依赖,Spring Boot 将提供热部署、自动重启、改进的调试信息等功能,从而提高开发效率。
-
-
5. 如何使用
spring-boot-starter:-
5.1你在pom.xml中引入spring-boot-starter后,它会自动提供一系列的功能。如果你需要使用其他特定的功能(如 Web 开发、数据访问、消息队列等),你可以将对应的starter添加到你的项目中。 -
5.2 引入
spring-boot-starter-web(构建 Web 应用):-
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>
-
-
5.3 引入
spring-boot-starter-data-jpa(用于 JPA 数据库交互):-
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
-
-
5.4 引入
spring-boot-starter-thymeleaf(用于 Thymeleaf 模板引擎):-
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
-
-
5.5 这些
starter会自动为你配置相关的框架和组件,而你只需要编写业务代码。Spring Boot 的自动配置机制确保了你不用关注底层框架的细节。
-
相关文章:
十六:Spring Boot依赖 (1)-- spring-boot-starter 依赖详解
1. 简介: spring-boot-starter 是 Spring Boot 项目中的基础启动器依赖,它为开发者提供了 Spring Boot 应用所需的核心功能和自动配置 spring-boot-starter 不是一个具体的功能模块,而是一个基础的启动器。 Spring Boot 提供了一系列的 sta…...
讲讲关于SNMP与智能PDU插座
什么是SNMP 简单网络管理协议 (SNMP) 是一种应用层协议,主要用于网络管理中的设备监控和控制。通过 SNMP,网络管理员可以从管理站远程访问网络中的设备,获取设备的状态信息、配置参数,甚至控制设备的行为。SNMP 被广泛应用于 TCP/…...
在CentOS下安装RabbitMQ
在CentOS下安装RabbitMQ 在CentOS下安装RabbitMQ可以按照以下步骤进行:步骤 1: 更新系统步骤 2: 安装Erlang步骤 3: 添加RabbitMQ仓库步骤 4: 安装RabbitMQ步骤 5: 启动RabbitMQ服务步骤 6: 检查RabbitMQ状态步骤 7: 启用RabbitMQ管理插件(可选ÿ…...
前端使用Canvas实现网页电子签名(兼容移动端和PC端)
实现效果: 要使用Canvas实现移动端网页电子签名,可以按照以下步骤: 在HTML文件中创建一个Canvas元素,并设置其宽度和高度,以适配移动设备的屏幕大小。 // 创建一个canvas元素 let canvas document.createElement(&q…...
什么是OSTRPT报文?
OSTRPT(Order Status Report)是一种 EDI(电子数据交换)报文,用于在供应链管理中向采购商报告订单状态。这种报文通常由供应商发送给采购商,目的是告知订单的当前处理状态、预期交货时间、订单中的变化等信息…...
PICO+Unity MR空间锚点
官方链接:空间锚点 | PICO 开发者平台 注意:该功能只能打包成APK在PICO 4 Ultra上真机运行,无法通过串流或PICO developer center在PC上运行。使用之前要开启视频透视。 在 Inspector 窗口中的 PXR_Manager (Script) 面板上,勾选…...
electron 中 contextBridge 作用
1. 安全地实现渲染进程和主进程之间的通信 在 Electron 应用中,主进程和渲染进程是相互隔离的,这是为了安全和稳定性考虑。 然而,在很多情况下,渲染进程需要访问主进程中的某些功能,例如系统级别的操作或者一些应用级…...
15分钟学 Go 第 42 天:RESTful API设计
第42天:RESTful API设计 目标:理解RESTful API的设计原则 在现代Web开发中,RESTful API(Representational State Transfer)已经成为了标准的架构风格,用于实现客户端与服务器之间的通信。通过遵循REST的设…...
如何安全的中断一个运行中的线程?
文心快码进入3.0时代, 最新发布的代码问答、编码、Debug、单测、安全智能体, 分别在开发的设计、编码、构建、测试验证全流程通过AI赋能,让效率更高、效果更好。可以通过自然语言对话,独立为你完成一项编码任务。 👉点…...
【121. 买卖股票的最佳时机】——贪心算法/动态规划
121. 买卖股票的最佳时机 一、题目难度 简单 三、题目描述 给定一个数组 prices,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获…...
LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略
LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略 导读:在基于大语言模型(LLM)技术实现数字计算能力的背景下,文本内容的理解和计算过程涉及多个领域的交叉技术,包括自然语言处理(NLP)、机器学习、以及数值计算。…...
LeetCode题练习与总结:判断子序列--392
一、题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一…...
json数据结构的转换
# json可用于赌徒与原件数据的转换(json以字符串的形式储存数据,在通过json进行两种语言的转换时,应先将数据类型转换成列表或字典,再由列表或字典转换成json字符串,最后由json字符串转换成另一种语言的列表或字典数据…...
mysql删除语句:@Update(“TRUNCATE TABLE employee“)讲解
这个 SQL 语句: TRUNCATE TABLE employee是一个 SQL DDL(数据定义语言) 操作,用于清空数据库表中的所有记录,但不会删除表结构(即列和索引等)。 逐部分解释: TRUNCATE:…...
如何修改浏览器指纹?
网络安全日益重要,我们的上网行为变得越来越容易被追踪和分析。其中,浏览器指纹就是一种强大的技术手段,它可以说是你上网的身份象征。 一、浏览器指纹是什么 浏览器指纹是网站和在线平台用来收集关于你的浏览器、设备和网络的详细信息的一…...
实现3D热力图
实现思路 首先是需要用canvas绘制一个2D的热力图,如果你还不会,请看json绘制热力图。使用Threejs中的canvas贴图,将贴图贴在PlaneGeometry平面上。使用着色器材质,更具json中的数据让平面模型 拔地而起。使用Threejs内置的TWEEN&…...
GEE ui界面实现:用户自画多边形, 按面积比例在多边形中自动生成样点,导出多边形和样点shp,以及删除上一组多边形和样点(有视频效果展示)
零、背景 这几天在选样点,发现GEE有强大的ui功能,于是应用在我的工作上。 下述代码实现了几个功能: ①用户可以自己勾勒多边形,随后程序会按面积比例在多边形中自动生成样点,同时根据改多边形的区域生成区域平均月N…...
React diff算法和Vue diff算法的主要区别
React和Vue都是流行的前端框架,它们各自实现了diff算法来优化虚拟DOM的更新过程。以下是React diff算法和Vue diff算法的主要区别: 1. diff策略 React diff算法: React的diff算法主要采用了同层级比较的策略,即它不会跨层级比较节…...
WSL 2 中 FastReport 与 FastCube 的设置方法与优化策略
软件开发人员长期以来一直在思考这个问题:“我们如何才能直接在 Windows 中运行 Linux 应用程序,而无需使用单独的虚拟机?” WSL 技术为这个问题提供了一个可能的答案。WSL 的历史始于 2016 年。当时,其实现涉及使用 Windows 内核…...
《线性代数》学习笔记
列向量无关 上个星期继续学线性代数,一个矩阵,如何判断它是的列向量有几个是线性无关呢?其实有好几个方法。第一个就是一个一个判断。 先选定一个,然后看下这两个,怎么看呢?如果两个列向量线性相关&#…...
Docker Compose多项目管理利器:compose-skill配置与实战指南
1. 项目概述:一个被低估的Docker Compose技能管理工具如果你和我一样,日常工作中大量使用Docker Compose来编排本地开发环境、测试服务栈,甚至是一些轻量级的生产部署,那你一定遇到过这样的场景:手头同时维护着好几个项…...
如何用python函数制作一个计算工具
大家好,这里是junlang的python文章 今天教大家如何用python函数做一个计算器,希望大家好好学习哦 如何制作 首先我们先定义4个函数,其中除法计算代码请看下面: def add (a,b,c):return (a b - c) def sub (x,y):return(x - y) def mulpl…...
为什么顶尖AI产品团队正秘密重构设计系统?——AI原生用户体验的4层认知断层与SITS 2026破局公式
更多请点击: https://intelliparadigm.com 第一章:AI原生用户体验设计:SITS 2026交互设计新趋势 AI原生体验不再将模型能力“封装后隐藏”,而是让智能成为界面的第一公民——用户在输入框中键入自然语言时,系统实时推…...
快速学C语言——第 4 章:运算符与表达式
第 4 章:运算符与表达式 在编程中,我们经常需要对数据进行各种计算和比较,就像在数学中一样。C 语言提供了一系列运算符,让我们能够对变量和值进行赋值、计算、比较、逻辑判断等操作。将变量、常量和运算符按照语法规则…...
DLSS Swapper:3个技巧彻底改变你的游戏性能优化体验
DLSS Swapper:3个技巧彻底改变你的游戏性能优化体验 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款革命性的游戏性能优化工具,它让你能够轻松管理NVIDIA DLSS、AMD FSR和Int…...
BUUCTF:[极客大挑战 2019]RCE ME 深度解析:从正则绕开到LD_PRELOAD的完整利用链
1. 题目背景与初步分析 BUUCTF的[极客大挑战 2019]RCE ME是一道典型的PHP代码审计与绕过题目。题目给出了一个简单的PHP页面,核心代码如下: <?php error_reporting(0); if(isset($_GET[code])){$code$_GET[code];if(strlen($code)>40){die(&quo…...
开发AI智能体时利用Taotoken实现多模型灵活调用的策略
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发AI智能体时利用Taotoken实现多模型灵活调用的策略 在构建复杂的AI智能体工作流时,一个常见的挑战是如何为不同的子…...
从零开始搭建 AI 应用时如何利用 Taotoken 简化模型选型与接入
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从零开始搭建 AI 应用时如何利用 Taotoken 简化模型选型与接入 当你着手为一个新项目引入大模型能力时,面对市场上众多…...
别再死记硬背公式了!用MATLAB/Simulink手把手复现PMSM滑模观测器(SMO)设计全流程
从零构建PMSM滑模观测器:MATLAB/Simulink实战指南 在电机控制领域,滑模观测器(SMO)因其强鲁棒性和抗干扰能力,成为无速度传感器控制的热门选择。但传统教材往往陷入数学推导的泥潭,让初学者望而生畏。本文将…...
从HIP4082到IR2184:直流电机驱动芯片怎么选?聊聊全桥与半桥方案的取舍
从HIP4082到IR2184:直流电机驱动芯片的工程化选型指南 在智能硬件和工业自动化项目中,电机驱动方案的选择往往决定着整个系统的可靠性边界。当工程师面对满目琳琅的驱动芯片时,IR2184和HIP4082这两个经典型号总会出现在候选清单中——前者以半…...
