基于AI的SSM教程發布
-------------------------------------------
教程簡介:
后端工程化體系是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及總結