首先环境准备:IDEA 专业版。
社区版要弄很多东西(版本,配 spring 之类的),IDEA 专业版可以网上找找破解版。
在 Java Web 这里,大部分概念都只要了解即可,不用记。
一、Maven
这部分内容,不涉及实战,主要是一些重要概念的介绍。
1.1 Maven 简介:
官方对于 Maven 的描述:
引用来自:Maven 官网
翻译过来就是:
Maven 是一个项目管理工具。基于 POM (Project Object Model,项目对象模型)的概念,Maven 可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
POM 简介:
简单来说:Maven 是一个项目管理工具,通过 pom.xml 文件的配置获取 jar 包,而不用手动去添加 jar 包。
Maven 的作用:
一句话:简单,方便,提高我们的开发效率,减少我们的开发 Bug。
1.2 Maven 的核心功能:
Maven 提供的功能非常多,主要体现在下面两个方面。
1.2.1 项目构建:
Maven 提供了标准的,跨平台(Linux,Windows,MacOS等)的自动化项目构建方式。
当我们开发了一个项目之后,代码需要经过编译,测试,打包,发布等流程,每次代码的修改,都需要经过这些流程,如果代码反复调试修改,这个流程就需要反复进行,就显得特别麻烦,而 Maven 给我们提供了一套简单的命令来完成项目的构建。
1.2.2 依赖管理:
如果使用 Maven 构建产生的构件(例如 Jar 文件)被其他的项目引用,那么该构件就是其他项目的依赖。
在下面的 Maven 仓库中,你可以找到项目所需的依赖。
Maven 仓库
下面为导入 Mysql 依赖。
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
</dependencies>
配置说明:
-
dependencies:一个 pom.xml 文件中只能存在一个这样的标签,是用来管理依赖的总标签。
-
dependency:包含在 dependencies 标签中,可以有多个,每一个表示项目的一个依赖。
-
groupId: 定义了当前 Maven 项目隶属的组织或公司。groupId 一般分为多段,通常情况下,第一段为域,第二段为公司名称。域又分为 org、com、cn 等,其中 org 为非营利组织,com 为商业组织,cn 表示中国。
-
-
version:定义了 Maven 项目当前所处版本。
依赖传递:
早期我们没有使用 maven 时,向项目中添加依赖的 jar 包,需要把所有的 jar 包都复制到项目工程下。比如 A 依赖 B。B 依赖 C。那么 A 项目引入 B 的同时,也需要引入 C,如果我们手动管理这个依赖,这个过程就会比较麻烦,我们需要知道每个库都依赖哪些库,以及这些依赖之间的版本是如何关联的。
使用 maven 的话,就可以避免管理所需依赖的关系。我们只需要在 pom 文件中,定义直接依赖就可以了,由于 maven 的依赖具有传递性,所以会自动把所依赖的其他 jar 包也一起导入。