SpringBoot——Maven篇

Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的工具。它具有许多特性,其中一些重要的特性包括:

1. 自动配置:Spring Boot 提供了自动配置的机制,可以根据应用程序的依赖和环境自动配置应用程序的各种组件,大大简化了开发过程。

2. 简化的依赖管理:Spring Boot 通过提供一组父项目和Starter模块,简化了依赖管理,开发者只需要添加相应的 Starter 模块就能够引入所需的依赖。

3. 内嵌式容器:Spring Boot 提供了内嵌式的容器,如 Tomcat、Jetty 等,使得应用程序可以独立运行,无需部署到外部容器中。

4. 生产就绪:Spring Boot 提供了各种生产环境准备的功能,如性能监控、健康检查、配置管理等,可以方便地打包部署到生产环境中。

5. 简化的配置:Spring Boot 采用约定大于配置的思想,提供了许多默认值和自动配置,减少了配置文件的编写量。

6. 微服务支持:Spring Boot 能够轻松集成 Spring Cloud 微服务框架,支持微服务架构的开发。

总的来说,Spring Boot 提供了一种快速、简便的方式来开发基于 Spring 框架的应用程序,使得开发者可以更专注于业务逻辑的实现,而不必过多关注配置和环境搭建等问题。

而起步依赖本质上就是一个Maven坐标,整合了完成一个功能需要的所有坐标

 因为Maven具有传递依赖的特性

 一、下载Maven

maven安装之前要先安装jdk,请确保你的系统已经安装了jdk环境(我用的是JDK17,因为SpringBoot3只支持17以上的版本)

 Maven官网:Download Apache Maven – Maven

二、配置

1.下载好的maven压缩包解压到一个没有中文,空格或其他特殊字符的文件夹

2.配置环境变量

3. 验证安装是否成功,win+R运行cmd,输入mvn -v,如图所示则配置成功

4. 配置settings文件

在Maven安装目录conf目录下找到settings.xml配置文件

修改本地仓库地址
(1)在maven安装目录下新建本地仓库文件夹maven_repository

(2)修改默认本地仓库地址

(3)配置私服,因为中央仓库在国外导致下载jar包很慢或者失败,所以我们改为国内的服务器

<mirror><id>nexus-tencentyun</id><mirrorOf>*</mirrorOf><name>Nexus tencentyun</name><url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>

(4)配置jdk,也要夹在两个profiles标签之间

5.配置完成。win+r 运行cmd,输入mvn help:system测试,Maven会自动下载缺省的或者更新的各种配置文件和依赖到本地仓库中,如果出现build success,说明你的maven已经配置成功了。

6.配置IDEA

三、Maven原理(管理和构建Java项目的工具)

 作用:

1.方便快捷的依赖管理(jar包)

        

2.项目构建(快速完成项目的编译、测试、打包、发布)

3.统一项目结构(使用Maven构建出来的项目,无论使用什么开发工具创建出来的Maven目,在使用其他开发工具的时候都可以直接导入)

仓库(本地仓库、中央仓库、私服仓库):用于存储和管理jar包

Maven坐标:

什么是坐标?
Maven 中的坐标是资源( jar)的唯一标识,通过该坐标可以唯一定位资源位置
使用坐标来定义项目或引入项目中需要的依赖

Maven 坐标主要组成 

groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
version:定义当前项目版本号
SNAPSHOT:功能不稳定、尚处于开发中的版本,即快照版本
RELEASE:功能趋于稳定、当前更新停止,可以用于发行的版本 

导入Maven项目

方式一:

方式二:

依赖配置

官网(https://mvnrepository.com/)

依赖:

指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。


配置:
1.在 pom.xml 中编写 <dependencies> 标签
2.在<dependencies>标签中 使用<dependency> 引入坐标
3.定义坐标的 groupId,artifactIdversion
4.点击刷新按钮,引入最新加入的坐标

Maven生命周期 

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一

Maven中有3套相互独立的生命周期:
clean:清理工作
default:核心工作,如:编译、测试、打包、安装、部署等
site:生成报告、发布站点等。

生命周期阶段
clean:移除上一次构建生成的文件
compile:编译项目源代码
test:使用合适的单元测试框架运行测试(junit)
package:将编译后的文件打包,如:jar、war等
install:安装项目到本地仓库 

注意 : 在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行 

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

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

相关文章

搭建基于chatgpt的问答系统

一、语言模型&#xff0c;提问范式与 Token 1.语言模型 大语言模型&#xff08;LLM&#xff09;是通过预测下一个词的监督学习方式进行训练的&#xff0c;通过预测下一个词为训练目标的方法使得语言模型获得强大的语言生成能力。 a.基础语言模型 &#xff08;Base LLM&…

leetcode0056. 合并区间 - medium

1 题目&#xff1a;合并区间 官方难度 - 中等 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1…

系统开发资源

一、前端篇 1.1 菜鸟CSS教程 1.2 HTML/CSS/JS 在线工具 二、后端篇 三、其他篇 3.1 菜鸟官网 3.2 黑马程序员学习路线 3.3 根据地区获取经纬度

计算机视觉cv2入门之图像的读取,显示,与保存

在计算机视觉领域&#xff0c;Python的cv2库是一个不可或缺的工具&#xff0c;它提供了丰富的图像处理功能。作为OpenCV的Python接口&#xff0c;cv2使得图像处理的实现变得简单而高效。 示例图片 目录 opencv获取方式 图像基本知识 颜色空间 RGB HSV 图像格式 BMP格式 …

k8s面试题总结(十五)

1.如何使用Kubernetes进行多环境部署&#xff08;如开发&#xff0c;测试和生产环境&#xff09;&#xff1f; 使用命名空间&#xff08;namespaces&#xff09;&#xff1a; 命名空间是用于逻辑隔离和资源分组的一种方式&#xff0c;可以为每个环境创建单独的命名空间。 2.使…

linux中yum和wget指令的区别

yum 和 wget 都是 Linux 上的下载工具&#xff0c;但它们的用途、下载方式和适用场景不同。以下是它们的 主要区别&#xff1a; 1. yum 是软件包管理器&#xff0c;wget 是文件下载工具 功能yumwget用途安装、更新和管理 RPM 软件包从 HTTP/HTTPS/FTP 下载文件工作方式通过 yu…

性能优化:服务器性能影响网站加载速度分析

问题&#xff1a;网站访问加载慢是受部署服务器的核数、带宽、内存影响吗&#xff1f;&#xff1f; 文章目录 前言一、服务器核数&#xff08;CPU&#xff09;二、带宽三、内存&#xff08;RAM&#xff09;四、其他潜在影响因素五、排查与优化步骤六、总结 前言 网站访问加载速…

【python】一文掌握 Conda 指令 (anaconda备忘清单)

文章目录 入门常用基础命令环境与包管理包与源管理更改环境导出环境配置其它额外提示这是开始使用 conda 命令的快速参考备忘单,初次学习可参考 这里 参考: Anaconda文档官网命令Cheat sheetConda cheatsheet PDF入门 常用基础命令 命令说明conda info查看 conda 的一系列基…

Qt:绘图API

目录 初识绘图 绘图API的使用 绘制形状(QPaintEvent) 绘制文字(画笔QPen) 内部填充(画刷QBrush) 绘制图片(QPixmap) 初识绘图 我们前面学习 Qt 主要是学 Qt 的各种控件&#xff0c;本质上都是画出来的 都是一些常用的东西&#xff0c;Qt 已经提前画好了&#xff0c;拿过…

【附JS、Python、C++题解】Leetcode面试150题(9)——三数之和

一、题目​​​​​ 15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足&#xff1a; i!j、i!k 且 j! k &#xff0c;同时还满足&#xff1a;nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意…

开源、创新与人才发展:机器人产业的战略布局与稚晖君成功案例解析

目录 引言 一、开源&#xff1a;机器人产业的战略布局 促进技术进步和生态建设 吸引人才和合作伙伴 建立标准和网络效应 降低研发风险与成本 二、稚晖君&#xff1a;华为"天才少年计划"的成功典范 深厚的技术积累与动手能力 强烈的探索和创新意识 持续公开…

Android笔记:Android平台下SVG格式的解析与实践

在移动应用开发的广阔天地里,开发者们始终致力于打造视觉效果卓越、适配各类设备屏幕的优质应用。SVG(Scalable Vector Graphics,可缩放矢量图形)作为基于 XML 的图形格式,以其鲜明特性,为 Android 开发者提供了实现这一愿景的关键路径。接下来,本文将全方位深入解析在 …

mac本地部署Qwq-32b记录

导语 昨天看到阿里开源了Qwq-32b&#xff0c;号称性能可以媲美Deepseek-R1。今天晚上有空就在Mac上折腾了一下&#xff0c;使用ollma进行了部署&#xff0c;效果感觉还不错&#xff0c;特此记录。 环境 硬件 型号&#xff1a;Macbook M1 Pro 14寸内存&#xff1a;32G 环境…

blender学习25.3.11

【05-进阶篇】Blender咖啡小场景之咖啡杯建模_哔哩哔哩_bilibili 杯子 首先做一个圆柱体 循环切割 crtlr 往下拖拽 框住按s往里收 Gz向上点 点击顶面按插入i&#xff0c;往里收一下&#xff0c;这样就插入了一个面 插入完成之后选中这个面&#xff0c;按下键盘的挤压E 然后…

数据可信、隐私可控:CESS 如何打造波卡生态数据新基建?

原文&#xff1a;https://messari.io/report/cess-network-a-deep-dive-into-programmable-data-value-infrastructure作者&#xff1a;Messari编译&#xff1a;OneBlock波卡生态一直以来以其跨链互操作性和灵活性吸引了众多创新项目&#xff0c;尤其是在 DePIN&#xff08;去中…

Android 列表页面终极封装:SmartRefreshLayout + BRVAH 实现下拉刷新和加载更多

在 Android 开发中&#xff0c;列表页面是常见的 UI 设计模式&#xff0c;而下拉刷新和加载更多是提升用户体验的关键功能。本文将带你从零开始&#xff0c;封装一个高复用性的 SmartRefreshHelper 工具类&#xff0c;结合 SmartRefreshLayout 和 BRVAH&#xff0c;实现高效、灵…

css基本功

为什么 ::first-letter 是伪元素&#xff1f; ::first-letter 的作用是选择并样式化元素的第一个字母&#xff0c;它创建了一个虚拟的元素来包裹这个字母&#xff0c;因此属于伪元素。 grid布局 案例一 <!DOCTYPE html> <html lang"zh-CN"><head&…

基于WebRTC技术的EasyRTC嵌入式音视频SDK:多平台兼容与性能优化

在当今数字化、智能化的时代背景下&#xff0c;实时音视频通信技术已成为众多领域不可或缺的关键技术。基于WebRTC技术的EasyRTC嵌入式音视频SDK&#xff0c;凭借其在ARM、Linux、Windows、安卓、iOS等多平台上的兼容性&#xff0c;为开发者提供了强大的工具&#xff0c;推动了…

【Pandas】pandas Series last_valid_index

Pandas2.2 Series Time Series-related 方法描述Series.asfreq(freq[, method, how, …])用于将时间序列数据转换为指定的频率Series.asof(where[, subset])用于返回时间序列中指定索引位置的最近一个非缺失值Series.shift([periods, freq, axis, …])用于将时间序列数据沿指…

批量将 Excel 文档中的图片提取到文件夹

前面我们介绍过如何批量删除 Excel 文档中的所有图片或者指定的图片&#xff0c;其中就需要用到批量提取 Excel 文档中图片的操作。我们如何才能够将 Excel 文档中的图片快速的提取出来呢&#xff1f;其实单个 Excel 文档中的图片提取到文件夹中是有多种方法可以完成的&#xf…