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.rhkb.cn/news/33411.html

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

相关文章

中文大语言模型提示工程:解锁AI力量的密钥(完整优化版)

文章目录 **引言&#xff1a;AI时代的"咒语"革命****一、为什么中文提示工程是技术深水区&#xff1f;****1.1 中文的"模糊美学"挑战****1.2 文化认知鸿沟****1.3 分词歧义陷阱** **二、中文提示工程六脉神剑&#xff08;附实战代码&#xff09;****2.1 结…

C++中虚析构函数的作用是什么?为什么基类需要虚析构函数?

C中虚析构函数的作用是什么&#xff1f;为什么基类需要虚析构函数&#xff1f; 在C中&#xff0c;虚析构函数&#xff08;virtual destructor&#xff09;的作用是确保在通过基类指针或引用删除派生类对象时&#xff0c;能够正确调用派生类的析构函数&#xff0c;从而避免资源…

【C++项目实战】校园公告搜索引擎:完整实现与优化指南

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;一、项目概述 &#x1f4d6;1.项目背景 &#x1f4d6;2.主要功能 &#x1f4d6;3.界面展…

大数据技术之Spark优化

第 1 章 Spark 性能调优 问:spark 优化 第一句:我们可以从性能,算子,shuffle 过程以及 jvm 四个方面展开优化。 1 常规性能调优 1.1 常规性能调优一:最优资源配置 Spark 性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正…

【 Manus平替开源项目】

文章目录 Manus平替开源项目1 OpenManus1.1 简介1.2 安装教程1.3 运行 2 OWL2.1 简介2.2 安装教程2.3 运行 3 OpenHands&#xff08;原OpenDevin&#xff09;3.1 简介3.2 安装教程和运行 Manus平替开源项目 1 OpenManus 1.1 简介 开发团队: MetaGPT 核心贡献者&#xff08;5…

《Java SQL 操作指南:深入理解 Statement 用法与优化》

在 Java 数据库编程中&#xff0c;Statement 是用于执行 SQL 语句的接口&#xff0c;允许程序与数据库进行交互。本文将详细介绍 Statement 的基本概念、常见用法以及 PreparedStatement 和 CallableStatement 等相关接口。 1. Statement 基本介绍 Statement 接口继承了 AutoC…

FFMPEG录制远程监控摄像头MP4

手绘效果图 上图是录制功能的HTML前端页面&#xff0c;录制功能和解码视频放在一起。录制功能关键是录制(开始录制按钮)、停止录像按钮。当点击“录制”的时候则会开始录制MP4文件, 当点击停止的时候就会停止录制MP4。经过录制后&#xff0c;则会生成MP4,并放到我的RV1126的/tm…

数据类型及sizeof,进制转换

其实数据类型可以讲很多内容&#xff0c;这里看情况需要讲多久吧。 本篇基本都是理论。 目录 数据类型的分类 基本数据类型 构造数据类型 指针类型 空类型 计算数据类型或变量所占用的内存字节数 基本语法 进制转换 二进制 二进制的概念 二进制与十进制的转换 十六进…

网络安全之tcpdump工具

引言 wireshark是一款非常不错的抓包软件&#xff0c;在图形化界面占绝对统治地位&#xff1b;尽管其在字符界面下有些许选项可供使用&#xff0c;但终究不太方便&#xff0c;下面我再介绍一款NB的终端抓包工具 tcpdump 1、混杂模式 linux的网卡有混杂模式一说&#xff0c;当开…

建筑管理(2): 施工承包模式,工程监理,质量监督

文章目录 一. 施工承包模式1. 施工总承包模式1.1 施工总承包的特点1.2 施工总承包模式中的承包方 2. 平行承包模式3. 联合体与合作体承包模式 二. 工程监理1. 强制实行监理的工程范围1.1 国家重点建设工程1.2 大中型公用事业工程(重点)1.3 成片开发建设的住宅小区工程1.4 必须实…

[LeetCode热门100题]|137,260,268,面试17.19

1、137 只出现一次数字|| 1、题目描述 137 只出现一次数字||https://leetcode.cn/problems/single-number-ii/description/ 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你…

MySQL中有哪几种锁?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL中有哪几种锁&#xff1f;】面试题。希望对大家有帮助&#xff1b; MySQL中有哪几种锁&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在MySQL中&#xff0c;锁是用来控制并发访问的机制&#xff0c;确…

外贸企业可以申请网络专线吗?

在对外业务不断扩大的情况下&#xff0c;外贸企业对网络的需求愈发迫切。稳定、快速的网络连接不仅是企业开展国际业务的基础&#xff0c;更是提升竞争力的关键。外贸企业是否可以申请网络专线&#xff1f;如何选择适合的外贸网络专线服务&#xff1f;本文将为您详细解答。 网络…

python笔记2

变量&#xff1a;含义 一个容器&#xff0c;计算机当中的存储空间。 可以理解为一个用于标识或引用数据的名字或标签。 作用&#xff1a; 可以通过定义一个变量来给需要使用多次的数据命名&#xff0c;就像一个标签一样。下次需要使用这个数据时&#xff0c;只需要通过这个变…

【算法】动态规划

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 持续更新中...1、常规动态规划Fibonacci数列杨辉三角最小花费爬楼梯孩子们的游戏 2、背包问题3、最长公共子序列4、最长递增子序列…

ECU BootLoader开发——Flash编程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

NetLink内核套接字案例分析

一、基础知识 Netlink 是 Linux 系统中一种内核与用户空间通信的高效机制&#xff0c;而 Netlink 消息是这种通信的核心载体。它允许用户态程序&#xff08;如网络配置工具、监控工具&#xff09;与内核子系统&#xff08;如网络协议栈、设备驱动&#xff09;交换数据&#xff…

Linux 配置静态 IP

一、简介 在 Linux CentOS 系统中默认动态分配 IP 地址&#xff0c;每次启动虚拟机服务都是不一样的 IP&#xff0c;因此要配置静态 IP 地址避免每次都发生变化&#xff0c;下面将介绍配置静态 IP 的详细步骤。 首先先理解一下动态 IP 和静态 IP 的概念&#xff1a; 动态 IP…

开源:LMDB 操作工具:lmcmd

目录 什么是 LMDB为什么编写 lmcmd安装方法如何使用 连接数据库命令列表 小结 1. 什么是 LMDB LMDB&#xff08;Lightning Memory-Mapped Database&#xff09;是一种高效的键值存储数据库&#xff0c;基于内存映射&#xff08;memory-mapping&#xff09;技术&#xff0c;提供…

进程管理:前后台切换

前后台切换 [rootxxx ~]# yum install -y xclock #安装xclock&#xff08;这里是用来解释前后台&#xff09; [rootxxx ~]# xclock -update 1 #前台运行&#xff08;如果把1改成2&#xff0c;就是秒针两秒走动一次&#xff09; [rootxxx ~]# xclock -update 1…