千鋒長(zhǎng)沙Java培訓(xùn):Spring 相關(guān)知識(shí)講解
這篇文章千鋒長(zhǎng)沙Java培訓(xùn)講師給大家講講Spring 相關(guān)知識(shí)。Spring 最重要的兩個(gè)概念就是:AOP、IoC。AOP(Aspect-Oriented Programming),也就是面向切面編程,能夠?qū)⒛切┡c業(yè)務(wù)無(wú)關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任(例如事務(wù)處理、日志管理、權(quán)限控制等)封裝起來(lái),便于減少系統(tǒng)的重復(fù)代碼,降低模塊間的耦合度,并有利于未來(lái)的可拓展性和可維護(hù)性。
IoC(Inverse of Control),也就是控制反轉(zhuǎn),是一種設(shè)計(jì)思想,就是將原本在程序中手動(dòng)創(chuàng)建對(duì)象的控制權(quán),交由 Spring 框架來(lái)管理。AOP 用于解耦業(yè)務(wù)代碼和公共服務(wù)代碼,比如日志、安全、事務(wù)等。IoC 用于管理 Java 對(duì)象之間的依賴(lài)關(guān)系。AOP 和 IoC 讓代碼更加簡(jiǎn)單,具有良好的松耦合性和可測(cè)試性,極大地提高了開(kāi)發(fā)效率。
IoC 的使用:基于 XML 的裝配基礎(chǔ) Java configuration 的裝配自動(dòng)裝配多種裝配的混合使用
AOP 的使用:切面、目標(biāo)對(duì)象、切點(diǎn)、通知前置、后置、異常等
除了 Spring,接下來(lái)就是 SpringMVC。Spring MVC 能夠使開(kāi)發(fā)者非常容易地開(kāi)發(fā)出 Web 應(yīng)用,同時(shí)無(wú)縫銜接 Spring 本身的諸多優(yōu)良品質(zhì),比如說(shuō) IoC容器、AOP編程等等。
SpringMVC 的基本原理
DispatcherServletWebApplicationContext處理HTTP請(qǐng)求過(guò)程
Controller
Controller、RequestMapping 等注解的使用PathVariableRequestParamRequestMapping
表單處理
數(shù)據(jù)綁定表單驗(yàn)證文件上傳
攔截器
異常處理
配置錯(cuò)誤頁(yè)面使用 HTTP 狀態(tài)碼ExceptionHandler
REST API
ResponseBodyRequestBody
然后是 MyBatis。MyBatis 是支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的優(yōu)秀的持久層框架。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以對(duì)配置和原生Map使用簡(jiǎn)單的 XML 或標(biāo)注,將接口和 Java 的 POJO 映射成數(shù)據(jù)庫(kù)中的記錄。
MyBatis的基本使用
SqlSessionFactorySqlSessionFactoryBuilderSqlSession
增刪改查
Mapper配置文件select元素insert元素update元素delete元素
復(fù)雜查詢(xún)
resultMapassociation嵌套結(jié)果與嵌套查詢(xún)collection動(dòng)態(tài)SQL分頁(yè)查詢(xún)(分頁(yè)插件)
先學(xué)習(xí) SSM,再學(xué)習(xí) Spring Boot。Spring Boot 的出現(xiàn),并不意味著 Spring 和 SpringMVC 已經(jīng)過(guò)時(shí)了,從設(shè)計(jì)目的上來(lái)說(shuō),Spring Boot 只是實(shí)現(xiàn)了 Spring 的自動(dòng)裝配,降低了項(xiàng)目搭建的難度。
從技術(shù)角度來(lái)說(shuō),Spring Boot 的底層依然是 Spring 的核心機(jī)制,也就是 AOP 和 IoC,Spring Boot 只是一個(gè)承載者。在我看來(lái),學(xué)習(xí) Spring 的正確路徑應(yīng)該是 Spring -> Servlet -> Spring MVC -> Spring Boot。

猜你喜歡LIKE
最新文章NEW
相關(guān)推薦HOT
更多>>熱門(mén)推薦
零基礎(chǔ)必看的前端HTML+CSS教程
沸Java培訓(xùn)新手實(shí)戰(zhàn)必備!單機(jī)版坦克大戰(zhàn)分步實(shí)現(xiàn)項(xiàng)目源碼
熱3種Javascript圖片預(yù)加載的方法詳解
熱長(zhǎng)沙前端培訓(xùn):一招教你用vue3+canvas實(shí)現(xiàn)坦克大戰(zhàn)
新互聯(lián)網(wǎng)涼了?參加長(zhǎng)沙Java培訓(xùn)能找到工作嗎?
長(zhǎng)沙Java培訓(xùn)實(shí)戰(zhàn)項(xiàng)目,出游咨詢(xún)訂票系統(tǒng)開(kāi)發(fā)流程
不參加長(zhǎng)沙Java培訓(xùn)能學(xué)會(huì)Java嗎?2022Java技能學(xué)習(xí)路線(xiàn)圖
千鋒長(zhǎng)沙Java培訓(xùn)分享之怎么學(xué)習(xí)Java集合?
千鋒長(zhǎng)沙前端培訓(xùn)分享之JavaScript面向?qū)ο缶幊趟枷朐斀?/p>
千鋒長(zhǎng)沙前端培訓(xùn)分享之web前端的回流和重繪
千鋒長(zhǎng)沙前端培訓(xùn)分享之3種Javascript圖片預(yù)加載的方法詳解
千鋒長(zhǎng)沙前端培訓(xùn)分享之利用Jest測(cè)試React組件
千鋒長(zhǎng)沙前端培訓(xùn)分享之JavaScript中Slice的用例
千鋒長(zhǎng)沙java培訓(xùn)分享之Socket編程
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價(jià)格 -
優(yōu)惠活動(dòng)
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開(kāi)班地區(qū)
查看來(lái)校路線(xiàn)