首页 > 其他分享 >SpringBoot中pom.xml配置详解 第一章

SpringBoot中pom.xml配置详解 第一章

时间:2024-04-09 14:04:27浏览次数:28  
标签:xml SpringBoot 项目 Boot boot pom Spring org

pom.xml是Maven项目的核心配置文件,负责管理项目的依赖、插件、构建配置等。对于Spring Boot项目而言,pom.xml文件显得尤为重要。其中,你可以配置项目的资源文件以及其他相关内容。

在Spring Boot的pom.xml文件中,通常会包含一个<resources>标签,该标签用于指定资源文件的路径和名称。通过这个标签,你可以定义项目中需要被打包的资源文件的路径,并且可以指定这些资源文件在最终的构建过程中应该被如何处理。这样做有助于确保项目中的资源文件在构建和部署过程中能够被正确处理和包含在生成的部署包中。这就意味着在部署应用程序时,这些资源文件会被正确地打包并随着应用一起发布,确保应用能够在不同环境中正确运行。

基本配置

1. project

元素是pom.xml文件的根元素,它包含了整个项目的配置信息。在<project>元素下,可以定义一些子元素来配置项目的不同方面,如用于定义项目的依赖项,用于定义项目的构建配置,用于定义项目的属性等。

通过配置元素和其子元素,可以实现对项目的各种配置和管理,使得项目在构建和运行时具备所需的依赖和配置。

#定义了 pom(4.0) 命名空间(xmlns)

xmlns="http://maven.apache.org/POM/4.0.0"


#创建了一个 xsi 命名空间

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


#定义了 xsd 文件的位置,以便 XML 解析器解析 XML 文件

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd

在这里插入图片描述

2.parent

在SpringBoot项目的pom.xml中,元素用于定义该项目的父依赖,通常会指定为spring-boot-starter-parent。一个典型的配置如下:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>2.3.1.RELEASE</version>
</parent>

groupId:org.springframework.boot,Spring Boot项目的groupId
artifactId:spring-boot-starter-parent,一个特殊的启动器
version: 具体的SpringBoot版本通过继承这个父项目

Spring Boot项目可以获得以下好处:

继承Spring Boot的依赖管理(dependencyManagement元素)
获得合理的默认配置,如编译级别、资源过滤等
使用Spring Boot提供的插件配置,如repackage插件
能够使用常见的依赖版本,不需要显式指定版本号

注意,<parent>并不会直接继承依赖,只是引入了依赖管理功能。我们仍然需要在<dependencies>中显式声明需要的依赖。所以在SpringBoot项目中,使用spring-boot-starter-parent作为<parent>是标准做法,可以很好地管理项目的依赖。

在这里插入图片描述

3.artifactId

<artifactId>用于定义特定Maven项目中某个模块的坐标,结合<groupId>一起使用,以唯一标识该模块。 在Spring Boot项目中,<artifactId>的值通常遵循以下规范:

  • 项目模块的名称,例如core、web、config等…
  • 服务或应用的名称,例如user-service、mall-service等…
  • 通用名称,例如common、util等…

这些命名规范有助于更清晰地标识项目中的模块或服务,并且使得在构建和管理项目时更加方便和直观。

另外,<artifactId>还会出现在依赖声明中:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

在这里插入图片描述

4.groupId

在Spring Boot的pom.xml文件中,元素用于定义该项目隶属的组织或团体。该元素通常出现在pom.xml文件的顶层元素中,它和一起定义了Maven项目中的模块坐标。

通常与Java包命名类似,采用分层的命名空间,例如:

<groupId>com.example.organization</groupId>

Spring Boot项目中的<groupId>通常遵循一些规范:

  • 公司/组织域名反转,如com.example
  • 项目名称,如org.springframework.boot
  • 功能模块,如org.springframework.boot.autoconfigure
  • 通用名称,如org.example.common

另外,还会出现在依赖声明中。这有助于清晰地标识依赖的来源和归属,使得项目的依赖关系更加清晰和易于管理。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

在这里插入图片描述

5.version

在Spring Boot项目的pom.xml文件中,元素用于定义这个Maven项目的版本号。通常,会出现在pom.xml文件的顶层元素中,并与和一起定义项目的坐标。其格式通常为X.Y.Z,其中X是主版本号,Y是次版本号,Z是增量版本号。例如:

<version>1.0.0</version>

对于Spring Boot项目,的定义通常遵循以下规范:

  • 使用语义化版本号,如1.0.0
  • 主版本号: 标识项目重大版本
  • 次版本号: 标识新增功能
  • 增量版本号: 标识Bug修复

另外,"SNAPSHOT"表示当前为快照版本,仍在开发中。

在依赖管理中,Maven根据的值来区分不同版本的构件。Spring Boot的依赖也会指定版本。这有助于确保项目中使用的依赖能够明确地定位到特定的版本,从而避免可能出现的兼容性问题。

<dependency>
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter</artifactId>
    <version>2.3.2.RELEASE</version>
</dependency>

在这里插入图片描述

标签:xml,SpringBoot,项目,Boot,boot,pom,Spring,org
From: https://blog.csdn.net/sinat_40936086/article/details/137544787

相关文章

  • 【SpringBoot整合系列】SpringBoot 实现大文件分片上传、断点续传及秒传
    目录功能介绍文件上传分片上传秒传断点续传相关概念相关方法大文件上传流程前端切片处理逻辑后端处理切片的逻辑流程解析后端代码实现功能目标1.建表SQL2.引入依赖3.实体类4.响应模板5.枚举类6.自定义异常7.工具类8.Controller层9.FileService10.LocalStorageService11......
  • Springboot计算机毕业设计高校课堂管理小程序【附源码】开题+论文+mysql+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,高校课堂管理逐渐从传统的人工管理模式向数字化、智能化转变。当前,高校课堂管理面临着诸多挑战,如学生信息管理繁琐、选课排课......
  • Springboot计算机毕业设计高校兼职小程序【附源码】开题+论文+mysql+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校教育的普及和就业市场的日益竞争,越来越多的大学生开始寻求在校期间的兼职机会,以丰富自身经验、锻炼实践能力,并获取一定的经济回报。然而,传统......
  • Springboot计算机毕业设计查寝微信小程序【附源码】开题+论文+mysql+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的迅猛发展,微信小程序作为一种轻量级、便捷式的应用形式,已经渗透到我们生活的方方面面。在高校管理中,查寝工作是一项至关重要的任......
  • 基于SpringBoot+Vue+uniapp微信小程序的高校教师成果管理小程序的详细设计和实现(源码
    文章目录前言项目运行截图技术框架后端采用SpringBoot框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • 基于Java+SpringBoot+Vue前后端分离大学生校园兼职求职招聘信息系统(适合毕业设计项目
    文章目录目录前言一、系统设计1、系统运行环境2.系统架构设计二、系统核心技术三.系统功能实现四.实现代码五.源码获取前言 本文旨在探讨并设计一个基于Springboot框架的大学生校园兼职求职招聘信息系统。该系统的设计与实现,旨在满足大学生寻找兼职工作的......
  • SpringBoot——测试
    SpringBoot测试源码在test-springboot测试无非就是设定预期值与真实值比较,相同则测试通过,不同则测试失败Ctrl+鼠标左键看源码,再按ctrl:f12查看方法0、环境<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://ww......
  • SpringBoot集成jasypt,加密yml配置文件
    一、Jasypt简介Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。jasypt库与springboot集成,在实际开发中非常方便。1、JasyptSpringBoot为springboot应用程序中的属性源提供加密支持,出于安全考虑,Springboot配置文件中的敏感信息通常需要对它进......
  • springboot本地打war包
    1、pom.xml修改图里标注的①②,新增③,图片下面有我打包的pom.xml大家可以参考<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:s......
  • 基于SpringBoot+MySQL+SSM+Vue.js的生鲜在线销售系统(附论文)
    演示视频基于SpringBoot+MySQL+SSM+Vue.js的生鲜在线销售系统技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描述基于SpringBoot+MySQL+SSM+Vue.js的生鲜在线销售系统(附......