Git 版本控制 · 文件上传 · 阿里云 OSS · 重点总结一、Git 概述1.1 版本控制
项目
说明
定义
对文件的修改历史进行记录和管理,方便随时恢复、对比版本
分类
集中式(SVN/CVS/VSS)、分布式(Git)
1.2 Git 核心功能
功能
说明
代码回溯
记录每次提交日志,方便回退到历史版本
版本切换
一个项目可有多个分支,自由切换
多人协作
团队共同开发,每人负责一部分代码
远程备份
通过远程仓库管理文件,本地丢失可从远程恢复
1.3 仓库类型
仓库
位置
说明
本地仓库
开发人员自己电脑
编辑、提交代码
远程仓库
远程服务器
团队共享,实现协作
1.4 三大核心操作
操作
命令
说明
commit
git commit -m "描述"
将本地文件和版本信息保存到本地仓库
push
git push origin 分支名
将本地仓库推送到远程仓库
pull
git pull origin 分支名
将远程仓库拉取到本地仓库
二、Git 代码 ...
Spring 事务 · AOP · SpringBoot Mybatis 综合案例 · 重点总结
整理自:10-SpringBootWeb_AOP.md + 10-AOP-tlias案例-01.xmind + 11-SpringBoot_Mybatis综合案例.md
一、Spring 事务管理1.1 事务回顾
概念
说明
定义
一组操作的集合,作为不可分割的工作单位,要么全部成功,要么全部失败
三大操作
开启(begin/start transaction)、提交(commit)、回滚(rollback)
1.2 @Transactional 核心注解(⭐ 重点)
项目
说明
作用
方法执行前开启事务;正常结束提交事务;出现异常回滚事务
使用位置
方法 / 类 / 接口(一般加在 service 业务层方法上)
底层
基于 Spring AOP 实现
123456789101112131415@Servicepublic class DeptServiceImpl implements DeptService & ...
SpringBoot 原理 · 配置优先级 · Bean 管理 · 自动配置 · 重点总结一、配置文件优先级1.1 SpringBoot 三种配置文件
配置文件
格式
推荐度
application.properties
key=value
优先级最高
application.yml
yaml 缩进格式(主流推荐)
优先级中
application.yaml
同 yml
优先级最低(与 yml 等价但更少用)
⚠️ 三种配置文件如果配置同一属性,优先级:properties > yml > yaml;项目开发中统一使用 yml 即可。
1.2 五种配置方式优先级(⭐ 常考)
优先级
配置方式
示例
最高
命令行参数
--server.port=10010
高
Java 系统属性
-Dserver.port=9000
中
application.properties
server.port=8081
低
application.yml
server:\n port: 8082
最低
application.yaml
同 y ...
登录认证 · JWT · 过滤器 · 拦截器 · 全局异常处理 · 重点总结一、登录认证整体流程1.1 核心思路
步骤
操作
① 用户登录
浏览器发起 POST /login 请求,携带用户名和密码
② 服务端校验
根据用户名和密码查询数据库,校验通过则生成 JWT 令牌返回给前端
③ 前端存储令牌
前端将 JWT 令牌存入 localStorage(浏览器本地存储)
④ 后续请求携带令牌
每次请求自动在 请求头 token 中携带 JWT
⑤ 服务端拦截校验
用过滤器或拦截器统一拦截,校验令牌有效性,无效则返回 NOT_LOGIN 错误
1.2 HTTP 协议无状态特性
HTTP 是无状态协议:每次请求独立,下次请求不会自动携带上次的数据。所以需要会话跟踪技术才能识别用户登录状态。
二、会话跟踪三种技术对比
方案
数据位置
优点
缺点
Cookie
客户端浏览器
HTTP 协议原生支持,自动携带
移动端不支持、可被禁用、不能跨域、不安全
Session
服务端
数据安全(存服务端)
集群环境下 Session 不共享、底层依赖 Cook ...
Git 分布式版本控制工具课程内容
Git概述
Git代码托管服务
Git常用命令
在IDEA中使用Git
1. 前言1.1 什么是GitGit是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。
在IDEA开发工具中可以集成Git(后面会讲解Git安装和集成过程):
集成后在IDEA中可以看到Git相关图标:
可以通过启动两个IDEA窗口模拟两个开发人员来展示Git的使用:
其他的版本控制工具:
SVN
CVS
VSS
1.2 使用Git能做什么
代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本
版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换
多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调
远程备份:Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取
2. Git概述2.1 Git简介Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件 ...
编程开发
未读SpingBoot原理springboot原理篇,主要偏向于底层原理。
我们今天的课程安排包括这么三个部分:
配置优先级:Springboot项目当中属性配置的常见方式以及配置的优先级
Bean的管理
剖析Springboot的底层原理
1. 配置优先级SpringBoot项目当中支持的三类配置文件:
application.properties
application.yml
application.yaml
在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中的任意一种来配置都可以,那么如果项目中同时存在这三种配置文件,且都配置了同一个属性,如:Tomcat端口号,到底哪一份配置文件生效呢?
application.properties
1server.port=8081
application.yml
12server: port: 8082
application.yaml
12server: port: 8082
我们启动SpringBoot程序,测试下三个配置文件中哪个Tomcat端口号生效:
properti ...
案例-登录认证登录认证,实现的效果就是用户必须登录之后,才可以访问后台系统中的功能。
1. 登录功能1.1 需求
在登录界面中,我们可以输入用户的用户名以及密码,然后点击 “登录” 按钮就要请求服务器,服务端判断用户输入的用户名或者密码是否正确。如果正确,则返回成功结果,前端跳转至系统首页面。
1.2 接口文档
登录功能的本质是什么?
查询
根据用户名和密码查询员工信息
我们参照接口文档来开发登录功能
基本信息
123请求路径:/login请求方式:POST接口描述:该接口用于员工登录Tlias智能学习辅助系统,登录完毕后,系统下发JWT令牌。
请求参数
参数格式:application/json
参数说明:
名称
类型
是否必须
备注
username
string
必须
用户名
password
string
必须
密码
请求数据样例:
1234{ "username": "jinyong", "password": "123456"} ...
SpringBootWeb案例前面我们已经讲解了Web前端开发的基础知识,也讲解了Web后端开发的基础(HTTP协议、请求响应),并且也讲解了数据库MySQL,以及通过Mybatis框架如何来完成数据库的基本操作。 那接下来,我们就通过一个案例,来将前端开发、后端开发、数据库整合起来。
而这个案例呢,就是我们前面提到的Tlias智能学习辅助系统。
在这个案例中,前端开发人员已经将前端工程开发完毕了。 我们需要做的,就是参考接口文档完成后端功能的开发,然后结合前端工程进行联调测试即可。
那今天我们的主要内容如下:
准备工作
部门管理
员工管理
1. 准备工作1.1 需求1). 部门管理
部门管理功能开发,包括:
查询部门列表
删除部门
新增部门
修改部门
2). 员工管理
员工管理功能开发,包括:
查询员工列表(分页、条件)
删除员工
新增员工
修改员工
1.2 环境搭建1). 创建一个SpringBoot工程,选择引入对应的起步依赖(web、mybatis、mysql驱动、lombok)
并在创建好的项目中,准备好包结构:
2). 准备数据库表,及 ...
tlias智能学习辅助系统接口文档1. 部门管理1.1 修改部门1.1.1 基本信息
请求路径:/depts
请求方式:PUT
接口描述:该接口用于修改部门数据
1.1.2 请求参数格式:application/json
参数说明:
参数名
类型
是否必须
备注
id
number
必须
部门ID
name
string
必须
部门名称
请求参数样例:
1234{ "id": 1, "name": "教研部"}
1.1.3 响应数据参数格式:application/json
参数说明:
参数名
类型
是否必须
备注
code
number
必须
响应码,1 代表成功,0 代表失败
msg
string
非必须
提示信息
data
object
非必须
返回的数据
响应数据样例:
12345{ "code":1, "msg":"success", ...
事务&AOP1. 事务管理1.1 事务回顾在数据库阶段我们已学习过事务了,我们讲到:
事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功,要么同时失败。
怎么样来控制这组操作,让这组操作同时成功或同时失败呢?此时就要涉及到事务的具体操作了。
事务的操作主要有三步:
开启事务(一组操作开始前,开启事务):start transaction / begin ;
提交事务(这组操作全部成功后,提交事务):commit ;
回滚事务(中间任何一个操作出现异常,回滚事务):rollback ;
1.2 Spring事务管理1.2.1 案例简单的回顾了事务的概念以及事务的基本操作之后,接下来我们看一个事务管理案例:解散部门 (解散部门就是删除部门)
需求:当部门解散了不仅需要把部门信息删除了,还需要把该部门下的员工数据也删除了。
步骤:
根据ID删除部门数据
根据部门ID删除该部门下的员工
代码实现:
DeptServiceImpl
1234567891011121314151 ...
🔥 热搜
加载中...






