目录
一、Maven简介
(一)软件开发中的阶段
(二)Maven能做什么
(三)没有使用maven怎么管理依赖
(四)什么是maven
(五)maven中的概念
二、Maven的核心概念
(一)约定的目录结构
(二)POM
(三)坐标
(四)依赖 dependency
(五)仓库
三、依赖管理
四、Mybatis
一、Maven简介
(一)软件开发中的阶段
1.需要分析: 分析项目具体完成的功能,有什么要求, 具体怎么实现。
2.设计阶段:根据分析的结果, 设计项目使用的什么技术, 解决难点。
3.开发阶段:编码实现功能。 编译代码,自我测试。
4.测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试报告。
5.项目的打包,发布阶段: 给用户安装项目
(二)Maven能做什么
1.项目的自动化构建工具,帮助开发人员搭建整个项目的整体结构,以及代码的编译,测试, 打包,安装,部署等工作。
2.管理依赖(管理项目中使用的各种jar
包)。
依赖:项目中需要使用的其他资源,
常见的是
jar
。 比如项目要使用
mysql
驱动。我们就说项目依赖
mysql
驱动。
(三)没有使用maven怎么管理依赖
管理jar
,需要从网络中单独下载某个
jar,需要选择正确版本,手工处理jar
文件之间的依赖。
(四)什么是maven
maven是
apache
基金会的开源项目,使用
java
语法开发。
Maven
这个单词的本意是:专家,内行。读音是 ['meɪ
v(
ə
)n]
或
['mevn]
。
maven
是项目的自动化构建工具。 管理项目的依赖。
1、
自动化构建项目:
结构都设计好了,哪些地方放源码,哪些地方放置测试代码。
2、
管理项目中的依赖:
pom
文件
(五)maven中的概念
1、POM
2、约定的目录结构
3、坐标
4、依赖管理
5、仓库管理
6、生命周期
7、插件和目标
maven的下载以及配置这里就不做赘述,可以在站内搜索相关教程。
二、Maven的核心概念
(一)约定的目录结构
maven项目使用的大多人 遵循的目录结构。 叫做约定的目录结构。
一个maven
项目是一个文件夹。 比如项目叫做
Hello
maven的使用方式:
(1)maven
可以独立使用: 创建项目,编译代码,测试程序,打包,部署等等
(2)maven和
idea
一起使用:通过
idea
借助
maven
,实现编码,测试,打包等等
(二)POM
POM:
Project Object Model
项目对象模型,
maven
把项目当做模型处理。 操作这个模型就是操作项目。
maven通过
pom.xml
文件实现项目的构建和依赖的管理。
(三)坐标
坐标组成是 groupid, artififiactId, version
。
·
坐标作用:确定资源的,是资源的唯一标识。 在maven
中,每个资源都是坐标。 坐标值是唯一的。简称叫
gav
packaging 项目打包的类型, 有
jar
,
war
,
ear
,
pom
等等 默认是
jar
项目使用gav
:
1.每个
maven
项目,都需要有一个自己的
gav
2.管理依赖,需要使用其他的
jar
,也需要使用
gav
作为标识。
(四)依赖 dependency
依赖:项目中要使用的其他资源(jar
)。
需要使用maven
表示依赖,管理依赖。 通过使用
dependency
和
gav
一起完成依赖的使用。需要在pom.xml
文件中,使用
dependencies
和
dependency
, 还有
gav
完成依赖的说明。
(五)仓库
仓库是存东西的,maven
的仓库存放的是:
1. maven工具自己的
jar
包。
2. 第三方的其他
jar
, 比如项目中要使用
mysql
驱动。
3. 自己写的程序,可以打包为
jar
。 存放到仓库。
仓库的分类:
1. 本地仓库(本机仓库): 位于自己的计算机, 它是磁盘中的某个目录。
本地仓库:默认路径,是登录操作系统的账号的目录中/.m2/repository
修改本地仓库的位置:修改maven
工具的配置文件(
maven
的安装路径
\conf\setting.xml
)
步骤:
(1)创建一个目录,作为仓库使用。
目录不要有中文和空格。 目录不要太深。
(2)修改
setting.xml
文件,指定
目录
2. 远程仓库: 需要通过联网访问的
(1)中央仓库: 一个
ftp
服务器, 存放了所有的资源。
(2)中央仓库的镜像: 就是中央仓库的拷贝。 在各大主要城市都有镜像。
(3)私服:在局域网中使用的。 私服就是自己的仓库服务器。 在公司内部使用的。
maven使用仓库:
maven
自动使用仓库, 当项目启动后, 执行了
maven
的命令,
maven
首先访问的是本地仓库,从仓库中获取所需的jar
, 如果本地仓库没有 ,需要访问私服或者中央仓库或者镜像。
三、依赖管理
依赖范围:使用scope
表示依赖的范围。 (变量的作用域)
依赖范围表示: 这个依赖(jar
和里面类)在项目构建的那个阶段起作用。
依赖范围scope
:
1、compile:默认, 参与构建项目的所有阶段
2、test:测试,在测试阶段使用, 比如执行
mvn test
会使用
junit
。
3、provided: 提供者。 项目在部署到服务器时,不需要提供这个依赖的
jar
, 而是由服务器这个依赖的
jar
包明显的是servlet
和
jsp
依赖
四、Mybatis
1、为什么使用框架:
提高开发效率
减少错误的出现
2、什么是框架:
是一个别人写好的项目。(半成品的东西)
提供一些可以重复使用的公共结构,
工具类,效率,安全,多线程
按照一定的规则。(规矩)
3、框架的优点:
不需要我们在为重复使用的内容去浪费大量的时间。
新手也容易学习和使用
专心在业务实现上
4、持久化
瞬时状态(内存)和持久化状态(硬盘)之间的 转换关系
瞬时状态 -------------
》持久化状态
(增删修)
持久化状态----------
》瞬时状态 (查)
5、
ORM
(
Object Relative Mapping
) 对象关系映射
6、
MyBatis的优点:
半自动(sql
语句需要自己去写)化的
ORM
框架 ,全自动(
hibernate)化的
ORM
框架, HQL 动态SQL