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 包导入
 - 导出课件
 










