01-学习目标
理解模块开发的意义
使用聚合工程快速构建项目
使用继承简化项目配置
根据需求配置生产,开发,测试环境,并在各环境之间交替运行
02-分模块开发的意义
项目扩展性增强了,方便其他项目引用相同的功能
将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享
03-分模块开发与设计
po 和 dao 不仅要把依赖写入ssm的pom.xml中还要install到本地仓库
04-依赖传递
在项目中有直接依赖也有间接依赖
依赖中出现冲突
-
直接依赖:在当前项目中通过依赖配置建立的依赖关系
-
间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
-
特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
-
路径优先:依赖出现相同资源时,层级越深(越往下嵌套),优先级越低
-
声明优先:
05-可选依赖与排除依赖
可选依赖:不想别人用自己的依赖的依赖
排除依赖:不想用别人的依赖的依赖
区别:
06-聚合
聚合:将多个模块组织成一个整体,同时进行项目构建的过程
聚合工程通常是一个不具有业务功能的空工程
实现对所包含的模块进行同步构建,当某个模块发生更新时,必须保证工程中与已更新的模块同步更新
07-继承
继承:集成描述的是两个工程之间的关系,子工程可以继承父工程的配置信息
08-属性
09-配置文件加载属性
10-版本管理
11-多环境开发
maven配置多重环境,开发者在使用过程中能够快速切换环境
produce develop test
<profiles> 标签定义多环境 不同的《》
<id>定义环境对应的名称
<properties>定义环境中的专用属性
<!--定义多环境-->
<profiles>
<!--定义具体的环境:生产环境-->
<profile>
<!--定义环境对应的唯一名称-->
<id>env_dep</id>
<!--定义环境中专用的属性值-->
<properties>
<jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
</properties>
<!--设置默认启动-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--定义具体的环境:开发环境-->
<profile>
<id>env_pro</id>
……
</profile>
</profiles>
使用多环境 mvn 指令(install )-p 环境定义id
12-跳过测试
应用场景:功能更新中并且没有开发完毕
idea中使用小闪电
跳过测试命令
mvn install -D skipTests
细粒度控制跳过测试
include 包含在内的测试
exclude 需要跳过的测试
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skipTests>true</skipTests>
<!--设置跳过测试-->
<includes>
<!--包含指定的测试用例-->
<include>**/User*Test.java</include>
</includes>
<excludes>
<!--排除指定的测试用例-->
<exclude>**/User*TestCase.java</exclude>
</excludes>
</configuration>
</plugin>
13-私服简介与安装
私服:一台独立的服务器,用于解决团队内部的资源共享与资源同步问题
Nexus maven私服产品