Maven
一、小白入门
1. 自动部署流程图
2. maven 构建过程
3. maven 总体工作机制
4. maven 安装初始化配置
<!-- 配置本地 maven 仓库-->
<localRepository>D:/Software/Maven/repository</localRepository>
<mirrors>
<!-- 配置阿里云镜像仓库 -->
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<mirrorOf>central</mirrorOf>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<!-- 配置 maven 仓库使用的 JDK 版本 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
5. maven 坐标说明
6. archetype 命令创建 maven 工程
7. pom.xml 解读
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 从 maven2 开始固定值 4.0.0,代表当前 pom.xml 所采用的标签结构 -->
<modelVersion>4.0.0</modelVersion>
<groupId>com.bear.maven</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 当前 maven 工程打包的方式,若取值为 pom,则说明这个工程是用来管理其它工程的工程 -->
<packaging>jar</packaging>
<name>test</name>
<url>http://maven.apache.org</url>
<!-- 自定义属性值 -->
<properties>
<!-- 构建过程中读取源码时采用的字符集 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- 配置当前依赖的作用范围 -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
8. 常用构建命令
9. 生成 web 工程
10. 查看工程中的依赖
11. scope 设置依赖作用范围
scope | main 目录(空间) | test 目录(空间) | 开发过程(时间) | 部署到服务器(时间) |
---|---|---|---|---|
compile | 有效 | 有效 | 有效 | 有效 |
provided | 有效 | 有效 | 有效 | 无效 |
test | 无效 | 有效 | 有效 | 无效 |
12. 依赖传递性
13. 排除依赖以解决冲突
<!-- 如工程依赖 springframework core 时需要排除 commons-logging 依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.14</version>
<!-- 使用 excludes 标签配置依赖的排除 -->
<exclusions>
<!-- 在 exclude 标签中配置一个具体的排除 -->
<exclusion>
<!-- 指定要排除的依赖的坐标(不需要写 version) -->
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
14. maven 父子工程
<!-- 使用 dependencyManagement 标签配置对依赖的管理 -->
<!-- 被管理的依赖并没有真正被引入到子工程,子工程中使用到具体依赖时需要明确配置,不需要写版本号 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
二、普通开发人员(前置知识:SSM)
-
功能演示
-
架构的概念
-
正式创建工程
-
如何选择依赖
-
组件依赖列表
-
建包
-
物理建模
-
逻辑建模
-
数据库连接信息
-
JdbcUtils 创建数据源对象
-
JdbcUtils 事务代码分析
-
JdbcUtils 对象跨方法传递分析
-
JdbcUtils ThreadLocal 介绍
-
JdbcUtils 工具方法实现
-
JdbcUtils 测试
-
BaseDao 泛型说明
-
BaseDao 具体方法
-
BaseDao 测试
-
子类 Dao
-
事务控制总体思路
-
事务过滤器
-
TransactionFilter 类
-
注册 TransactionFilter 类
-
事务控制注意事项
-
表述层 ViewBaseServlet 服务器端渲染
-
Thymeleaf 简要工作机制
-
逻辑视图的概念
-
创建 ViewBaseServlet 类
-
配置初始化参数
-
ModuleBaseServlet
-
辅助功能
-
显示首页流程图
-
显示首页代码实现
-
登录流程图
-
创建 AuthServlet 类
-
创建 EmpService 和登录失败异常
-
AuthServlet 登录逻辑
-
登录完成并测试
-
退出登录
-
显示奏折列表流程图
-
创建组件
-
显示奏折列表 java 代码
-
登录信息部分
-
初步显示信息
-
调整颜色
-
和登录成功对接
-
显示奏折详情流程图
-
调整超链接
-
显示奏折详情 java 代码
-
页面显示
-
奏折已读
-
调整表单样式
-
批复奏折
-
登录检查流程图
-
登录检查代码实现
-
打包部署
-
第一只锦囊小结
-
建立工程间关系
-
各工程配置 POM
-
逆向工程
-
配置并测试数据源
-
整合 Mybatis
-
事务控制
-
配置 web.xml
-
显示首页
-
辅助功能
-
登录功能
-
整理文档
三、资深开发人员(前置知识:微服务)
- 第三只锦囊的说明
- 各工程总体说明
- 创建工程、建立依赖关系
- 父工程管理依赖
- util 模块
- 创建实体类
- 对外暴露接口
- service 层
- controller 层
- 主启动类
- yml 配置文件
- 准备环境
- 显示首页
- 登录验证流程图
- 装配远程接口说明
- 装配远程接口分析
- 验证方法
- 登录验证完成并测试
- 部署运行
- 修改 MySQL 连接信息
- 在总体聚合工程上执行 install
- 添加 SpringBoot 的打包插件
- 执行 SpringBoot 打包插件的打包命令
- 微服务启动
- Maven 是一款项目管理工具
- POM 的四层体系
- 属性的声明和引用
- build 标签本身详解
- build 标签典型引用:JDK 版本
- Spring Boot 插件和 MBG 插件
- 依赖补充:其它三个依赖范围
- 可选依赖
- 版本仲裁机制
- 自定义插件:创建插件
- 使用插件
- profile 概述
- 配置方式
- 激活方式
- 实例演示
- 资源属性过滤
- Nexus 服务器安装和启动
- 仓库类型介绍
- 通过 Nexus 下载第三方 jar 包
- 部署 jar 包及获取别人部署的 jar 包
- 配置 Nexus 仓库举例
- jar 包冲突概述
- jar 包冲突本质
- 解决办法概述
- 解决办法:IDEA 的 Maven helper 插件
- 解决办法:Maven 的 enforcer 插件
- 体系外 jar 包导入
- 导出课件