1. 前期的知识回顾
1.1 数据库
知识点:
1. Sql语句 CURD 操作的核心. 单表操作
2. 多表关联操作 笛卡尔积(只显示2张表的共有数据) 左连接、右连接、内连接
关键字: like in and or order by asc/desc group by 数据库函数调用
端口号:默认端口号3306 、3307
权限: mysql数据库默认只允许自己本机进行连接。 必须开放数据库权限才可以。
版本: mysql: 至少5.5及以上的版本 mariadb: 10以上
1.2 前端知识
核心知识:
1.html
2.javascript JS
3.CSS 美化
4、Ajax
前端的内容属于静态页面。
动态页面: JSP html + java代码 tomcat负责解析。
1.3 VUE.js
核心:
1. 双向数据绑定 vue中的属性与页面输入框之间进行绑定
2. VUE 设计思想:
MVVM思想 model模型(数据) view视图 VM(vue对象特有的结构)
2. 后台项目环境准备
2.1 目录准备
说明:以后写后端代码都在2109目录中,要求目录不能耦合、路径不能有中文、空格等特殊字符。
![]()
2.2 IDEA管理工作目录
2.2.1 IDEA 管理目录结构图
2.2.2 IDEA环境配置
2.3 关于Maven说明
2.3.1 maven介绍
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
2.3.2 maven 工作原理
角色划分:
1. 本地仓库 在本地存储项目中使用的jar包.
2. 镜像服务器 在国内可以快速的下载需要的jar包文件
3. 中央仓库 maven官网维护的仓库,几乎包含了所有的开源的jar包. 例如oracle.jar包没有
Maven环境配置
配置本地仓库
<!--定义本地仓库路径 如果pom.xml文件报错,则切换本地仓库-->
<localRepository>D:/software/mvn_repo</localRepository>
配置私服镜像
说明: 如果私服镜像配置不完全,则导致下载jar包会去中央仓库.导致下载很慢可能出错.
<!--阿里云镜像-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
2.3.4 IDEA整合maven
优化:一劳永逸。就不用在设置了
2.4 关于SpringBoot项目环境调试
2.4.1 创建项目
指定私服镜像地址 路径: https://start.aliyun.com/
编辑项目信息
勾选依赖项
2.4.2 项目测试
检查jar包下载是否正常
测试主启动方法是否正常
2.5 关于IDEA整合maven项目说明
说明: 有时IDEA 不能正确的识别maven项目. 需要自己手动的添加该项目.
3 关于maven知识点讲解
3.1 关于依赖项与本地仓库的关系
3.1.1 maven jar包搜索
URL地址: https://mvnrepository.com/
3.1.2 maven 坐标的说明
1.说明: maven的坐标是本地仓库中,查找jar包文件的唯一路径.
2.注意事项: maven的jar包下载 如果通过手机热点 可能下载不完全.
3.坐标说明:
<dependency>
<!--1.组ID: 公司域名倒写 www.tedu.cn-->
<groupId>junit</groupId>
<!--2.项目名称唯一-->
<artifactId>junit</artifactId>
<!--3.版本号 唯一的-->
<version>4.12</version>
<!--了解: 什么时候有效-->
<scope>test</scope>
</dependency>
4.本地仓库位置说明: 坐标与jar包的路径 一一对应.
5.如果出现jar包下载不完全的现象如何处理 将本地仓库中的jar包文件删除之后,刷新maven
3.1.3 如何解释maven jar包 具有依赖传递性?
3.1.3.1 为什么需要依赖传递性
历史问题: 很早之前的开发 里边的jar包文件都是由程序员一个一个的手动添加!!!
致命问题: jar包文件之间可能会产生冲突!!! 一个class出现了多次!!
如何解决: maven工具诞生之后, 很大的程度上解决了 jar包依赖的版本冲突问题.
官网在开发时,已经将版本的问题进行了测试. 所以使用时一般不会错.
自动依赖的说明:
1. A.jar 依赖 B.jar B.jar 依赖 C.jar 当用户引入A.jar 包时. B/C自动添加依赖…
3.1.3.2 依赖传递性原理说明
说明:
1. 用户添加jar包时,maven工具会根据jar包的坐标,去本地仓库中查找指定的jar包文件.
2. 找到jar包并且实现了jar包文件的依赖.
3. 同时加载当前目录下的pom文件,通过标签 加载其它的依赖项.
4. 循环执行上述的操作 直到所有的jar包依赖完成为止.
jar包文件位置
自动依赖项
总结:
maven 为了解决jar包冲突问题,内部有一些依赖项,引入某些jar包可以自动的依赖其它的jar包.
3.1.4 maven 如何保证安全性(了解)
3.1.4.1 问题描述
jar包在网络中进行传输.可能会被篡改. 如何防止!!!
3.1.4.2 sha1算法
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
3.1.4.3 关于hash常识(面试题)
1. 对相同数据,采用相同的hash算法, 问: 结果是否相同? 答:必定相同
2. 不同的数据,采用相同的hash算法, 问: 结果是否不同? 答: 可能相同
hash BUG: hash碰撞问题!!!
3. 关于hash碰撞说明:
3.1.4.4 数据传输有效性说明
说明: 对数据采用算法进行计算生成摘要信息,当数据传递到本地也会生成摘要信息。 之后对比2个摘要数据。判断数据是否相同。
4 关于框架阶段说明
4.1 三大框架基本结构
4.1.1 为什么需要框架
说明: 如果生产环境下的项目,都是从头(从底层写起)开发,难度太大了,并且开发的效率极其低下. 所以为了让项目快速的上线部署. 将某些特定的功能.进行了高级的封装. 那么我们如果需要使用封装后的API.,则必须按照人家的要求编码
4.1.2框架的分类
Spring框架: 整个框架中负责"宏观调控"的(主导),负责整合其它的第三方的框架.
SpringMVC框架: 主要负责实现前后端数据的交互
Mybatis框架/MybatisPlus框架:持久层框架,简化了JDBC操作数据库的方式, 提高效率.
SpringBoot框架/工具: SpringBoot采用了一种更加简化的方式封装了之前的框架.让程序变得更加简单.
4.1.3 框架调用流程图
5 关于maven 指令说明
5.1 常用命令说明
- clean 清空target目录文件. target 中保存的是xxx.java文件编译后的xxx.class文件. 防止程序不能及时更新. 手动编译的一种方式.
- compile 手动让mvaen工具 将xxx.java文件 编译为xxx.java文件
- install 将项目打包部署
5.2 java项目 打包类型
- jar包文件 适用于工具API/框架源码/SpringBoot程序 最常用的
- war包文件 动态web开发时常用的方式,可以直接tomcat服务器部署.(落后)
- pom类型 表示该项目是一个 “聚合工程”, 一个大项目里边包含了多个小项目的结构.
5.3 关于jar包文件说明
通过maven install 会在target目录中生成 xxx.jar包文件
有时个别的打包不会在target目录中生成xx.jar(IDEA的问题),可以在本地仓库中查找该jar包.
安装