Maven是项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
项目有阶段: 编译项目 、项目测试、 运行项目 、 清除项目的缓存 、 发布项目 、 打包安装....
: Maven是由Apache开发的一个工具。用来管理java项目(依赖(jar)管理, 项目构建, 分模块开发 ).
Maven的作用
-
依赖管理: maven对项目的第三方构件(jar包)进行统一管理。向工程中加入jar包不要手工从其它地方拷贝,通过maven定义jar包的坐标(jar包的唯一标识),自动从maven仓库中去下载到工程中。
-
项目构建: maven提供一套对项目生命周期管理的标准,开发人员、和测试人员统一使用maven进行项目构建。项目生命周期管理:编译、测试、打包、部署、运行。
-
maven对工程分模块构建,提高开发效率。 (后面Maven高级会涉及)
-
Maven仓库和坐标
- 仓库其实就是存放 jar包 的位置 , 仓库其实就是一个文件夹!
- 相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。
-
知识点-Lombok的常用注解
-
@Data
-
@Getter/@Setter
-
@ToString
-
@NoArgsConstructor, @AllArgsConstructor
-
@Data
-
用在类上面的 , 生成set,get, toString, hashCode,canEqual、equals方法
-
-
@Getter
-
用在字段, 生成get方法
-
-
@Setter
-
用在字段, 生成set方法
-
-
@ToString
-
用在类上面的 生成toString方法
-
-
@xxxConstructor
-
用在类上面的 生成构造方法 (只能生成无参和全参的构造方法)
-
优点:
能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
让代码变得简洁,不用过多的去关注相应的方法
缺点:
-
不支持多种参数构造器的重载 , 要不就是无参,要不就是全参 , 如果希望做成只有一个参数、或者几个参数的构造函数,需要自己手动添加。
-
虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读代码的舒适度
-
属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等
-