在后端开发中,Maven是一个常用的构建工具和依赖管理工具。在Maven项目中,POM(Project Object Model)文件是一个重要的配置文件,用于定义项目的基本信息、依赖关系以及构建配置。本文将解释我们将会在POM文件中所引入的各项依赖内容。
引入maven后要更新一下,然后会自动下载拟引入的maven,时间可能会比较长,耐心等待
1. 基本信息
在POM文件中,<groupId>
、<artifactId>
和<version>
元素定义了项目的基本信息:
<groupId>
:项目的组织或团队标识,通常使用反转的域名(类似Java包名)。
<artifactId>
:项目的唯一标识符,通常是项目的名称。
<version>
:项目的版本号。
1 2 3
| <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version>
|
2. 依赖项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <?xml version="1.0" encoding="UTF-8"?> <!-- Maven项目描述文件,定义了项目的基本信息和依赖 --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 指定模型版本 --> <modelVersion>4.0.0</modelVersion>
<!-- 父依赖,基于Spring Boot的父项目 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.0</version> <relativePath/> <!-- 从仓库查找父项目 --> </parent>
<!-- 项目的基本信息 --> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description>
<!-- 定义属性 --> <properties> <java.version>1.8</java.version> <tomcat.version>9.0.60</tomcat.version> </properties> <!-- 项目构建配置 --> <build> <plugins> <!-- Spring Boot Maven插件,用于打包和运行Spring Boot应用 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
|
- Spring Boot Starter Parent 依赖:这是 Spring Boot 的父依赖,它提供了一系列默认的依赖版本,使您的项目能够快速集成 Spring Boot 框架。
org.springframework.boot:spring-boot-starter-parent:2.7.0
- 项目基本信息:在这部分中,定义了项目的基本信息,如项目的组织、唯一标识、版本、名称和描述等。
groupId
:项目的组织或团队标识。
artifactId
:项目的唯一标识符,通常是项目的名称。
version
:项目的版本号。
name
:项目的名称。
description
:项目的描述。
- 属性定义:在这部分中,定义了项目中所使用的一些属性,如 Java 版本和 Tomcat 版本。
java.version
:Java 版本。
tomcat.version
:Tomcat 版本。
<dependencies>
元素
在<dependencies>
元素下,列出了项目所依赖的库和框架。每个<dependency>
元素表示一个依赖项,其中包括<groupId>
、<artifactId>
和<version>
元素来指定依赖的组织、库和版本号。
Spring Boot Web 依赖
1 2 3 4
| <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
|
这个依赖用于启用 Spring Boot 的 Web 支持。它包含了许多在 Web 开发中常用的库和组件,包括 HTTP 请求处理、控制器、视图解析器等。您可以使用这个依赖来构建和处理 Web 请求以及创建 RESTful API。
Gson 依赖
1 2 3 4 5
| <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency>
|
Gson 是 Google 提供的一个 Java 库,用于将 Java 对象和 JSON 数据进行相互转换。它使您能够在后端应用程序中轻松处理 JSON 格式的数据,例如解析 JSON 数据、将 Java 对象序列化为 JSON 等。
Lombok 依赖
1 2 3 4 5 6
| <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
|
Lombok 是一个 Java 库,它通过注解自动为您生成 Java 类的代码,从而减少了冗余的样板代码。使用 Lombok,您可以轻松地为实体类生成 getter、setter、构造方法等。<scope>provided</scope>
表示这个依赖在编译时提供,但在运行时不会被包含在项目中。
MySQL 连接驱动依赖
1 2 3 4 5
| <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
|
这个依赖包含了 MySQL 数据库的 Java 连接驱动,使得您可以在后端应用程序中连接、查询和操作 MySQL 数据库。
MyBatis-Plus 依赖
1 2 3 4 5
| <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency>
|
MyBatis-Plus 是一个在 MyBatis 框架基础上的增强工具库。它提供了更多的便捷方法和功能,用于简化数据库操作,包括 CRUD 操作、分页查询等。
Spring Boot 内嵌 Tomcat 依赖
1 2 3 4 5 6
| <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.6.6</version> <scope>compile</scope> </dependency>
|
这个依赖包含了 Spring Boot 内嵌的 Tomcat 服务器。它允许您在开发和测试环境中直接运行 Web 应用程序,而无需单独安装和配置外部的 Web 服务器。
3. 总的pom文件配置
这是总的pom依赖,可以直接用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| <?xml version="1.0" encoding="UTF-8"?> <!-- Maven项目描述文件,定义了项目的基本信息和依赖 --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 指定模型版本 --> <modelVersion>4.0.0</modelVersion>
<!-- 父依赖,基于Spring Boot的父项目 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.0</version> <relativePath/> <!-- 从仓库查找父项目 --> </parent>
<!-- 项目的基本信息 --> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description>
<!-- 定义属性 --> <properties> <java.version>1.8</java.version> <tomcat.version>9.0.60</tomcat.version> </properties>
<!-- 项目的依赖 --> <dependencies> <!-- Spring Boot Web依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<!-- Gson依赖 --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency>
<!-- Lombok依赖,用于简化Java类的开发 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
<!-- MySQL连接驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
<!-- Spring Boot整合MyBatis-Plus的依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency>
<!-- Spring Boot Web依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<!-- Spring Boot内嵌Tomcat依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.6.6</version> <scope>compile</scope> </dependency> </dependencies>
<!-- 项目构建配置 --> <build> <plugins> <!-- Spring Boot Maven插件,用于打包和运行Spring Boot应用 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
|
4. 注意
由于各种依赖版本问题,可能最新的会有bug,所以最好选择稳定的去使用
可以在Maven Repository: Search/Browse/Explore (mvnrepository.com)网站中搜索你需要的依赖,选择版本后复制maven代码过来即可。
如还有其他问题建议csdn去搜索。