尚硅谷_基于AI的SSM教程发布

雅隽尚硅谷 2024-09-20 13:22:34

-------------------------------------------

教程简介:

后端工程化体系是Java程序员要走的路,也是企业应用开发的刚需技术。本套教程基于AI时代大背景和尚硅谷Java全端工程师课程,内容重新设计,知识层次分明,重点难点突出,既保证了讲解的深度和广度,又保证了学习者的吸收效果,更加可以提升实战技能!

本套教程为课堂实录,内容包含:Spring、SpringMVC、MyBatis、SpringBoot等。Spring篇,重点讲解了 IOC、AOP、声明式事务的用法和原理,以及Spring底层源码和常见面试问题;SpringMVC篇,重点讲解了请求处理、响应处理、RESTful CRUD、拦截器、异常处理、数据校验、VO分层、接口文档,并以debug源码方式,详细描述了SpringMVC-DispatcherServlet核心流程;MyBatis篇,重点讲解了基本用法、参数处理、自定义结果集、关联查询、分步查询、动态SQL、缓存机制、分页插件、逆向工程,涵盖MyBatis全部核心功能;SpringBoot篇,重点讲解了自动配置原理、日志使用、环境隔离、外部化配置、自定义starter等。

通过本套教程的学习,你将对后端工程化核心框架有一个系统的掌握,无论从开发实战到底层原理都可以融会贯通,打牢基础,让后续的学习更加轻松容易!

-------------------------------------------

教程目录:

001.AI版SSM教程简介

002.预备 - AI工具链

003.Spring - 介绍

004.Spring - 容器和组件

005.Spring - IoC和DI

006.容器 - 注册 - 实验1:@Bean - 把组件放到容器

007.容器 - 注册 - 补充 - Maven配置问题

008.容器 - 注册 - 补充 - Maven 聚合配置

009.容器 - 注册 - 实验2:从容器中获取组件 - 按照名字.类型

010.容器 - 注册 - 实验2:组件创建时机和单例特性

011.容器 - 注册 - 实验3:@Configuration - 配置类

012.容器 - 注册 - 实验4-7:@Controller.@Service.@Repository.@Component - MVC分层注解

013.容器 - 注册 - 实验8:@ComponentScan - 批量扫描

014.容器 - 注册 - 实验9:@Import - 导入第三方组件

015.容器 - 注册 - 补充 - 分层注解底层都是 @Component

016.容器 - 注册 - 实验10:@Scope - 调整组件作用域

017.容器 - 注册 - 实验11:@Lazy - 单例情况下的懒加载

018.容器 - 注册 - 实验12:FactoryBean - 利用工厂制造复杂Bean

019.容器 - 注册 - 实验13:@Conditional - 条件注册

020.容器 - 注册 - 实验13:@Conditional 派生注解

021.容器 - 注册 - 实验13:@ConditionalOnMissingBean 的判定bug

022.容器 - 注入 - 实验1:@Autowired

023.容器 - 注入 - 实验2-3:@Qualifier 和 @Primary

024.容器 - 注入 - 实验4:@Resource 也是自动注入

025.容器 - 注入 - 实验6:构造器注入

026.容器 - 注入 - 实验5:Setter方法注入

027.容器 - 注入 - 实验7:xxxAware 感知接口

028.容器 - 注入 - 实验8:@Value 给属性赋值

029.容器 - 注入 - 实验9:@PropertySource

030.容器 - 注入 - 实验9:细节,类路径找资源的写法

031.容器 - 注入 - ResourceUtils - 获取资源

032.容器 - 注入 - @Profile - 多环境

033.源码 - 原生方式使用容器 - ClassPathXmlApplicationContext

034.容器 - 生命周期 - 实验1 - @Bean 指定生命周期初始化和销毁方法

035.容器 -生命周期 - 实验2-3 - InitializingBean.DisposableBean

036.容器 - 生命周期 - 实验4-5:@PreDestroy.@PostConstruct

037.容器 - 生命周期 - 实验6:BeanPostProcessor

038.容器 - 生命周期 - BeanPostProcessor能做什么

039.容器篇 - 结束

040.单元测试新用法

041.AOP - 日志 - 硬编码与静态代理

042.AOP - 日志 - 动态代理

043.AOP - 日志 - 动态代理 - 加日志

044.AOP - 日志 - 动态代理必须有接口

045.AOP - 日志 - 日志工具类

046.AOP - 专业术语

047.AOP - 切面 - 编写切面和通知方法实现 AOP

048.AOP - 细节 - 切入点 表达式通配符

049.AOP - 细节 - 切入点表达式的其他写法

050.AOP - 细节 - 组件在容器中其实是代理对象

051.AOP - 细节 - 通知方法执行流程

052.AOP - 细节 - JoinPoint 连接点信息

053.AOP - 细节 - @Pointcut 抽取切入点表达式

054.AOP - 细节 - 多切面执行顺序

055.作业 - 处理

056.【源码】 - BeanFactory 里面的核心集合

057.【源码】- Spring 容器 底层就是三个Map,三级缓存机制

058.AOP - 环绕通知 - 拦截器目标方法执行,执行前后进行修改

059.AOP - 环绕通知 - 建议一定抛出异常,方便多切面情况下异常感知链路是通的

060.AOP - 总结:应用场景

061.事务 - 环境搭建 - 创建数据库.创建项目

062.事务 - 环境搭建 - 整合数据源和JdbcTemplate

063.事务 - 实验1:按照id查询图书(JdbcTemplate)

064.事务 - 实验2:添加图书

065.事务 - 实验3:按照id修改图书库存

066.事务 - 实验4:按照id删除图书

067.事务 - 实验5:按照username扣减账户余额

068.事务 - 实验6:结账操作

069.事务 - @Transactional - 声明式事务搞定

070.事务 - 细节 - 事务管理器的原理

071.事务 - 细节 - timeout - 超时控制

072.事务 - 细节 - readOnly - 只读优化

073.事务 -细节 - rollbackFor - 指定哪些异常需要回滚

074.事务 - 细节 - noRollbackFor - 指定哪些异常不需要回滚

075.事务 - 细节 - 隔离级别 - READ_UNCOMMITTED 读未提交

076.事务 - 细节 - 隔离级别 - READ_COMMITTED - 读已提交

077.事务 - 细节 - 隔离级别 - REPEATABLE_READ - 可重复读

078.事务 - 细节 - 传播行为 - propagation

079.事务 - 细节 - 传播行为 - 分析一个复杂案例

080.事务 - 细节 - 传播行为 - 属性传播

081.Spring - 总结

082.【源码】- 双检查锁机制

083.【源码】- IoC容器启动12大步

084.SpringMVC - Web开发实际就是请求响应

085.SpringMVC -Helloworld

086.SpringMVC - 小问题

087.@RequestMapping - 路径映射 - 通配符

088.@RequestMapping - 请求限定

089.请求限定小结

090.HTTP - 复习

091.请求处理 - 实验1:使用普通变量,收集请求参数

092.请求处理 - 实验2:@RequestParam - 明确指定获取哪个参数值

093.请求处理 - 实验3:使用POJO匹配封装所有参数

094.请求处理 - 实验4:@RequestHeader - 获取请求头

095.请求处理 - 实验5:@CookieValue - 获取cookie的值

096.请求处理 - 实验6:pojo级联封装复杂属性

097.请求处理 - 实验7:@RequestBody 接受json字符串并进行自动转换为对象

098.请求处理 - 实验8:文件上传

099.请求处理 - 实验9:HttpEntity - 获取整个请求(包括体和头)

100.请求处理 -实验10:传入原生API

101.请求处理 - 总结

102.响应处理 - 实验1:返回json

103.响应处理 - 实验2:文件下载

104.响应处理 - Thymeleaf - 页面跳转

105.响应处理 - Thymeleaf - 测试页面取值

106.响应处理 - 总结

107.RESTful - API 接口设计的架构风格

108.RESTful - CRUD案例 - Dao层完成

109.RESTful - CRUD案例 - Service层完成

110.RESTful - CRUD案例 - Controller 层完成

111.RESTful - CRUD案例 - 统一返回R对象

112.RESTful - CRUD案例 - 查询所有

113.RESTful - CRUD案例 - 跨域

114.@PathVariable - 其他写法

115.复制一个练习项目

116.拦截器 - HandlerInterceptor - 拦截目标方法的执行

117.拦截器 - 多拦截器执行顺序

118.拦截器 - 执行顺序

119.拦截器 - 拦截器和过滤器的区别

120.异常处理 - @ExceptionHandler - 指定异常处理方法

121.异常处理 - @ControllerAdvice - 全局异常处理

122.异常处理 - 异常处理的最终方式

123.数据校验 - JSR303校验注解、@Valid、BindingResult

124.数据校验 - 全局异常处理

125.数据校验 - 自定义校验器

126.数据校验 - 错误消息提示

127.各种O的分层模型

128.最佳实践 - 项目中的vo用法

129.最佳实践 - 接口文档

130.SpringMVC - 结束

131.【源码】- DispatcherServlet 九大组件

132.【源码】- SpringMVC - DispatcherServlet 请求处理流程

133.【源码】- SpringMVC - 源码流程

134.MyBatis - HelloWorld

135.MyBatis - 简介

136.MyBatis - HelloWorld - 细节

137.MyBatis - CRUD - 完成 - 开sql日志

138.MyBatis - CRUD - 细节 - useGeneratedKeys 获取自增id

139.MyBatis - CRUD - 查询所有 & 开启驼峰命名

140.MyBatis - 参数处理 - #{}和${}

141.MyBatis - 参数处理 - 单个参数 #{} 直接取值

142.MyBatis - 参数处理 - 多个参数 @Param 注解标注每个参数的名字

143.MyBatis - 返回值 - 普通、对象、List、Map

144.MyBatis - 返回值 - ResultMap - 自定义结果集

145.MyBatis - 关联查询 - 关联关系复习与环境搭建

146.MyBatis - 关联查询 - ResultMap - association 指定一对一关联封装规则

147.MyBatis - 关联查询 - ResultMap - collection 指定一对多关联封装规则

148.MyBatis - 分步查询 - 原生分步写法

149.MyBatis - 自动分步查询 - collection - select 属性指定需要启动的下一次查询

150.MyBatis - 自动分步查询 - association - select 指定启动下一次查询

151.MyBatis - 超级分步的大坑

152.MyBatis - 分步查询 - 开启延迟加载

153.MyBatis - 自定义结果集小结 - 1-1、1-N、N-N

154.MyBatis - 动态SQL - if 标签

155.MyBatis - 动态SQL - where标签

156.MyBatis - 动态SQL - set标签

157.MyBatis - 动态SQL - trim标签实现where

158.MyBatis - 动态SQL - trim标签实现set

159.MyBatis - 动态SQL - choose、when、otherwise分支选择

160.动态sql-foreach批量操作

161.MyBatis - 动态SQL - 批量sql数据库默认支持回滚

162.MyBatis - 动态SQL - sql - 抽取可复用的片段

163.MyBatis - XML中的转义字符

164.MyBatis - 缓存机制 - 体验一级缓存

165.MyBatis - 缓存机制 - 体验二级缓存

166.MyBatis - 插件机制 - 知道有四大对象

167.MyBatis - 分页插件 - 基础用法

168.MyBatis - 分页插件 - 分页前后配合

169.MyBatis - 逆向生成

170.MyBatis - 最后的作用

171.异常处理打印错误堆栈

172.SpringBoot - 特性

173.SpringBoot - 简化打包、部署、运维

174.SpringBoot - 场景启动器

175.SpringBoot - 依赖管理

176.SpringBoot - 自动配置 - 基本理解

177.SpringBoot - 自动配置 - 导入场景会导入一堆自动配置类,这些配置类导入基于条件注解一堆组件

178.SpringBoot - 自动配置 - 自动配置类给容器中放组件、组件属性来自于属性类、属性类绑定配置文件

179.SpringBoot - 自动配置 - 总结

180.SpringBoot - 基础使用 - @ConfigurationProperties

181.SpringBoot - 基础使用 - yaml语法

182.SpringBoot - 基础使用 - banner设置

183.SpringBoot - 基础使用 - 启动Spring应用的其他方式

184.SpringBoot - 日志 - 简介

185.SpringBoot - 日志 - 日志记录

186.SpringBoot -日志 - 根据级别记录日志

187.SpringBoot - 日志 - 日志分组

188.SpringBoot - 日志 - 输出到文件

189.SpringBoot - 日志 - 归档与切割

190.SpringBoot - 日志 - 引入框架自己的日志配置文件

191.SpringBoot - 日志 - 切换日志实现

192.SpringBoot - 日志 - 总结

193.SpringBoot - 进阶 - profiles 环境隔离

194.SpringBoot - 进阶 - 外部化配置

195.SpringBoot - 单元测试 - 断言机制

196.SpringBoot - 可观测性 - actuator

197.SpringBoot - 生命周期 - 监听器感知生命周期

198.SpringBoot - 生命周期 - 事件驱动、异步

199.SpringBoot - 原理总结

200.自定义starter及总结

0 阅读:6