前几天开始了spring的学习,然后学习开始的时候发现自己用的IDE和视频里的不一样,去问一些大佬发现他们创建spring项目时也是创建的maven项目,说现在基本都用这种架构了,只有出于教学目的可能才会用Web项目写Spring,而且Maven项目很实用,学会了可以方便很多,很简单不难学。我还不会,所以索性就去大概了解了一下。
1.Maven是什么
简单的来说:maven就是一个帮你管理项目的各种事务(下载jar包、构建等)的一个项目管理工具。
你只用知道这么多就够啦=v=
2.Maven的工作原理
Maven本质上是一个仓库系统,他有一个很大的中央仓库,这个仓库由Sonatype(团队)维护,这个仓库中包含了所有、各类项目需要的jar包依赖,我们之前学习所需的Mybatis、Spring、jdbc相关的jar包都可以在这个其中找到,我们只需把我们需要的包下载到我们的本地仓库,在一个pom.xml文件中设置对应的依赖,让项目自己去寻找这个jar包并导入,然后这个jar包就可以被整个项目中使用。这样就省去了找官网、找jar包、导包这些麻烦操作;大致就是这样一个原理
3.Maven下载及相关配置
要创建Maven项目首先需要下载Maven–官方网站https://maven.apache.org
点击左侧Download标签、选择对应版本进行下载;下载完之后解压、里面是这样一个内容
然后呢进行一些配置:打开conf->setting.xml,该文件中的每个注释都标明了这个位置应该放什么标签,确定了标签顺序规范;
1.找到localRepository注释
localRepository标签是用来设定本地仓库的位置的,也就是我们从中央仓库下载的jar包存放的地方,默认是放在${user.home}/.m2/repository下,这里我把本地仓库设为D:\repository
2.找到mirrors注释
mirrors标签中存放着多个mirror标签,每个mirror标签都代表着一个仓库地址。因为中央仓库的官方地址是国外的网站,下载jar包速度很慢,所以我们要添加国内的镜像地址,比如阿里云镜像
复制一下代码到mirrors标签下即可
<!-- 阿里云镜像 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- maven官方镜像 -->
<mirror>
<id>mirrorId</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name </name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<!-- junit镜像地址 -->
<mirror>
<id>junit</id>
<name>junit Address/</name>
<url>http://jcenter.bintray.com/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3.为idea配置maven
idea原本是有自带Maven插件的,如果不想上官网下可以直接用idea下,创建新的maven项目是会自动下载的,并且会直接帮你配好;
如果是官网上下的maven我们打开idea,点击文件->其他设置->新的项目 设置->构建、执行、部署->构建工具->Maven
分别设置Maven主目录、用户设置文件、本地储存库,点击右侧覆盖,点击确定,就好了。
4.Maven简单案例
我们就用简单的jdbc操作来熟悉一下Maven具体是怎么使用的。
打开idea,选择 文件->新建->项目,点击Maven,下面会提供一些项目原型,我们先不选,直接next
点击构建坐标,设置对应信息,然后点击Finish
然后我们就会看见这样的一个项目结构
其中两个java文件夹都是用于存放java源码的,只不过test下的一般是拿来做测试的;
resources文件夹用于存放我们用到的各种资源文件(各种xml,properites,xsd文件等),如mybatis就需要用到各种mapper.xml就可以放在这个文件夹中;
pom.xml文件就是整个maven项目的核心部分啦,我们先来看看怎么做一个导包的工作
dependencies标签就是用来声明项目依赖的地方,内含若干个dependency标签,比如我们现在需要一个mysql-connector-java的包,我们就可以这样
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
</dependencies>
写完之后可能你的界面上会有标红,没关系,只是说明你的本地仓库没有你所需要的依赖包而已,我们点击右上角的那个类似于刷新的按钮,它就会自动帮我们构建项目(包括自动去中央仓库下载没有的jar包);
如果显示出错了可能是你的jar包名字写错了或是版本号等问题导致maven没有在中央仓库找到对应的jar包,自己在检查一下就好了
构建完成后,我们打开项目结构,我们就可以在模块->依赖中看到我们想要的jar包了
测试一下,代码写在java文件夹中