Spring + Spring MVC + MyBatis + Spring Boot 框架整合開發 (IntelliJ IDEA版·微課視頻版)

陳恆 主編;吳鏑 楊松 張立傑 孫國元 副主編

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • ISBN: 7302659540
  • ISBN-13: 9787302659549
  • 相關分類: Java 相關技術
  • 下單後立即進貨 (約4週~6週)

  • Spring + Spring MVC + MyBatis + Spring Boot 框架整合開發 (IntelliJ IDEA版·微課視頻版)-preview-1
  • Spring + Spring MVC + MyBatis + Spring Boot 框架整合開發 (IntelliJ IDEA版·微課視頻版)-preview-2
  • Spring + Spring MVC + MyBatis + Spring Boot 框架整合開發 (IntelliJ IDEA版·微課視頻版)-preview-3
Spring + Spring MVC + MyBatis + Spring Boot 框架整合開發 (IntelliJ IDEA版·微課視頻版)-preview-1

買這商品的人也買了...

商品描述

"本書詳細地講解了Spring、Spring MVC、MyBatis、Spring Boot、MyBatis-Plus等Java EE框架的基礎知識和實際應用。全書共20章,第1~5章主要講解Spring框架的相關知識,內容包括Spring入門、Spring IoC、Spring Bean、Spring AOP以及Spring的事務管理;第6~13章主要講解Spring MVC的相關知識,內容包括Spring MVC入門、Controller、數據綁定和表單標簽庫、攔截器、數據驗證、國際化、異常統一處理以及文件的上傳和下載;第14章主要講解MyBatis的相關知識,內容包括MyBatis開發入門、映射器、動態SQL以及SSM框架整合的思想與流程;第15章是基於SSM框架的案例實戰,詳細介紹電子商務平臺的設計與實現過程;第16~19章主要講解Spring Boot的相關知識,內容包括Spring Boot入門、Spring Boot的Web開發、Spring Boot的數據訪問、Spring Test單元測試;第20章是基於Spring Boot+MyBatis-Plus框架的案例實戰,詳細介紹名片管理系統的設計與實現過程。書中案例側重實用性、趣味性強、分佈合理、通俗易懂,有助於讀者快速掌握SSM、Spring Boot以及MyBatis-Plus框架的基礎知識、編程技巧以及完整的開發體系,為大型項目的開發打下堅實的基礎。 本書開發環境為IntelliJ IDEA+Tomcat 10,使用的開發軟件為Spring Framework 6.0、MyBatis 3.5.11、Spring Boot 3.0以及MyBatis-Plus 3.5.3.1。 本書可作為高等院校電腦及相關專業的教材或教學參考書,也可作為Java技術的培訓教材,適合廣大Java EE應用開發人員閱讀與使用。 "

目錄大綱

目錄..

 

V

 

掃一掃

 

 

目錄

 

源碼下載

 

 

 

1.1.Spring簡介...............................................................................................................................................1

1.1.1.Spring的由來.............................................................................................................................1

1.1.2.Spring的體系結構.....................................................................................................................1

1.2.Spring開發環境的構建 

 ...................................................................................................................4

1.2.1.配置IntelliJ IDEA的Web服務器..........................................................................................4

1.2.2.Spring的下載.............................................................................................................................6

1.3.使用IntelliJ IDEA開發Spring入門程序 

 ....................................................................................6

本章小結...............................................................................................................................................................9

習題1....................................................................................................................................................................9

 

 

2.1.Spring IoC的基本概念........................................................................................................................10

2.2.Spring IoC容器 

 .............................................................................................................................11

2.2.1.BeanFactory............................................................................................................................11

2.2.2.ApplicationContext...............................................................................................................11

2.2.3.GenericApplicationContext...............................................................................................13

2.3.依賴註入的類型 

 ..............................................................................................................................14

2.3.1.使用構造方法註入....................................................................................................................14

2.3.2.使用屬性的Setter方法註入..................................................................................................16

本章小結............................................................................................................................................................17

習題2.................................................................................................................................................................17

 

 

3.1.Bean的配置...........................................................................................................................................18

3.2.Bean的實例化 

 ................................................................................................................................19

3.2.1.構造方法實例化........................................................................................................................19

3.2.2.靜態工廠方法實例化...............................................................................................................20

3.2.3.實例工廠方法實例化...............................................................................................................21

3.3.Bean的作用域 

 ................................................................................................................................22

3.3.1.singleton作用域.....................................................................................................................23

3.3.2.prototype作用域....................................................................................................................24

3.4.Bean的生命周期 

 ............................................................................................................................24

3.5.Bean的裝配方式 

 ............................................................................................................................27

3.5.1.基於XML配置的裝配.............................................................................................................27

3.5.2.基於註解的裝配........................................................................................................................30

本章小結............................................................................................................................................................34

習題3.................................................................................................................................................................34

 

 

4.1.Spring AOP的基本概念......................................................................................................................36

4.1.1.AOP的概念...............................................................................................................................36

4.1.2.AOP的術語...............................................................................................................................37

4.2.動態代理 

 ...........................................................................................................................................38

4.2.1.JDK動態代理............................................................................................................................38

4.2.2.CGLIB動態代理.......................................................................................................................41

4.3.基於代理類的AOP實現 

 ...............................................................................................................43

4.4.基於XML配置開發AspectJ 

 .......................................................................................................46

4.5.基於註解開發AspectJ 

 ..................................................................................................................51

本章小結............................................................................................................................................................53

習題4 ................................................................................................................................................................53

 

 

5.1.Spring的數據庫編程 

 ....................................................................................................................55

5.1.1.Spring JDBC的配置...............................................................................................................55

5.1.2.Spring jdbcTemplate的使用方法......................................................................................56

5.2.編程式事務管理 

 ..............................................................................................................................60

5.2.1.基於底層API的編程式事務管理..........................................................................................60

5.2.2.基於TransactionTemplate的編程式事務管理................................................................62

5.3.聲明式事務管理 

 ..............................................................................................................................65

5.3.1.基於XML方式的聲明式事務管理........................................................................................65

5.3.2.基於@Transactional註解的聲明式事務管理...................................................................69

5.3.3.如何在聲明式事務管理中捕獲異常......................................................................................72

本章小結............................................................................................................................................................73

習題5.................................................................................................................................................................74

 

 

6.1.MVC模式與Spring MVC的工作原理.............................................................................................75

6.1.1.MVC模式..................................................................................................................................75

6.1.2.Spring MVC的工作原理.......................................................................................................76

6.1.3.Spring MVC接口....................................................................................................................77

6.2.第一個Spring MVC應用 

 .............................................................................................................77

6.2.1.使用IDEA創建Web應用並添加相關依賴........................................................................77

6.2.2.在web.xml文件中部署DispatcherServlet......................................................................79

6.2.3.創建Web應用首頁.................................................................................................................80

6.2.4.創建Controller類..................................................................................................................80

6.2.5.創建Spring MVC配置文件並配置Controller映射信息...............................................81

6.2.6.應用的其他頁面........................................................................................................................81

6.2.7.在IDEA中發布並運行Spring MVC應用..........................................................................82

6.3.視圖解析器..............................................................................................................................................83

本章小結............................................................................................................................................................84

習題6.................................................................................................................................................................84

 

 

7.1.基於註解的控制器.................................................................................................................................86

7.1.1.Controller註解類型...............................................................................................................86

7.1.2.RequestMapping註解類型.................................................................................................87

7.1.3.編寫請求處理方法....................................................................................................................88

7.2.Controller接收請求參數的常見方式 

 .........................................................................................89

7.2.1.通過實體Bean接收請求參數...............................................................................................90

7.2.2.通過處理方法的形參接收請求參數......................................................................................95

7.2.3.通過HttpServletRequest接收請求參數...........................................................................96

7.2.4.通過@PathVariable接收URL中的請求參數..................................................................96

7.2.5.通過@RequestParam接收請求參數.................................................................................97

7.2.6.通過@ModelAttribute接收請求參數...............................................................................97

7.3.重定向與轉發 

 ..................................................................................................................................98

7.4.應用@Autowired進行依賴註入.......................................................................................................99

7.5.@ModelAttribute註解.....................................................................................................................101

本章小結..........................................................................................................................................................102

習題7...............................................................................................................................................................102

 

 

8.1.數據綁定................................................................................................................................................104

8.2.表單標簽庫............................................................................................................................................104

8.3.數據綁定的應用 

 ............................................................................................................................108

8.4.JSON數據交互 

 .............................................................................................................................114

8.4.1.JSON概述...............................................................................................................................114

8.4.2.JSON數據轉換......................................................................................................................115

本章小結..........................................................................................................................................................118

習題8...............................................................................................................................................................118

 

 

9.1.攔截器概述............................................................................................................................................119

9.1.1.攔截器的定義..........................................................................................................................119

9.1.2.攔截器的配置..........................................................................................................................120

9.2.攔截器的執行流程 

 ........................................................................................................................121

9.2.1.單個攔截器的執行流程.........................................................................................................121

9.2.2.多個攔截器的執行流程.........................................................................................................123

9.3.應用案例——用戶登錄權限驗證 

 ..............................................................................................125

本章小結..........................................................................................................................................................129

習題9...............................................................................................................................................................129

 

 

10.1.數據驗證概述.....................................................................................................................................130

10.1.1.客戶端驗證..........................................................................................................................130

10.1.2.服務器端驗證.....................................................................................................................130

10.2.Spring驗證器 

 ............................................................................................................................131

10.2.1.Validator接口...................................................................................................................131

10.2.2.ValidationUtils類.............................................................................................................131

10.2.3.Validator驗證示例...........................................................................................................132

10.3.Jakarta Bean Validation(JSR 380) 

 .................................................................................137

10.3.1.Jakarta Bean Validation驗證配置...............................................................................137

10.3.2.標註類型..............................................................................................................................138

10.3.3.Jakarta Bean Validation驗證示例...............................................................................140

本章小結..........................................................................................................................................................142

習題10.............................................................................................................................................................142

 

 

11.1.程序國際化概述.................................................................................................................................143

11.1.1.Java國際化的思想............................................................................................................143

11.1.2.Java支持的語言和國家....................................................................................................144

11.1.3.Java程序國際化................................................................................................................144

11.1.4.帶占位符的國際化信息.....................................................................................................145

11.2.Spring MVC的國際化.....................................................................................................................146

11.2.1.Spring MVC加載資源屬性文件....................................................................................146

11.2.2.語言區域的選擇.................................................................................................................147

11.2.3.使用message標簽顯示國際化信息.............................................................................147

11.3.用戶自定義切換語言示例 

 .........................................................................................................148

本章小結..........................................................................................................................................................153

習題11.............................................................................................................................................................153

 

 

12.1.示例介紹..............................................................................................................................................154

12.2.SimpleMappingExceptionResolver類......................................................................................159

12.3.HandlerExceptionResolver接口.................................................................................................160

12.4.@ExceptionHandler註解..............................................................................................................162

12.5.@ControllerAdvice註解...............................................................................................................162

本章小結..........................................................................................................................................................163

習題12.............................................................................................................................................................163

 

 

13.1.文件的上傳 

 ..................................................................................................................................164

13.2.文件的下載 

 ..................................................................................................................................169

本章小結..........................................................................................................................................................172

習題13.............................................................................................................................................................172

 

 

14.1.MyBatis簡介.....................................................................................................................................173

14.2.MyBatis的環境構建.........................................................................................................................174

14.3.MyBatis的工作原理.........................................................................................................................174

14.4.MyBatis的核心配置.........................................................................................................................175

14.5.使用IntelliJ IDEA開發MyBatis入門程序 

 ..........................................................................176

14.6.SSM框架的整合開發.......................................................................................................................180

14.6.1.相關JAR包.........................................................................................................................180

14.6.2.MapperScannerConfigurer方式................................................................................181

14.6.3.整合示例 

 ......................................................................................................................182

14.6.4.SqlSessionDaoSupport方式 

 ................................................................................187

14.7.使用MyBatis Generator插件自動生成映射文件...............................................................................191

14.8.映射器概述.........................................................................................................................................193

14.9.<select>元素 

 ............................................................................................................................194

14.9.1.使用Map接口傳遞參數..................................................................................................194

14.9.2.使用Java Bean傳遞參數................................................................................................197

14.9.3.使用@Param註解傳遞參數..........................................................................................197

14.9.4.<resultMap>元素...........................................................................................................198

14.9.5.使用POJO存儲結果集....................................................................................................199

14.9.6.使用Map存儲結果集......................................................................................................200

14.10.<insert>、<update>、<delete>和<sql>元素 

 .........................................................201

14.10.1.<insert>元素...............................................................................................................201

14.10.2.<update>與<delete>元素....................................................................................203

14.10.3.<sql>元素.....................................................................................................................204

14.11.級聯查詢...........................................................................................................................................204

14.11.1.一對一級聯查詢 

 .....................................................................................................204

14.11.2.一對多級聯查詢 

 .....................................................................................................208

14.11.3.多對多級聯查詢 

 .....................................................................................................211

14.12.動態SQL 

 ...................................................................................................................................214

14.12.1.<if>元素........................................................................................................................214

14.12.2.<choose>、<when>和<otherwise>元素.......................................................215

14.12.3.<trim>元素..................................................................................................................216

14.12.4.<where>元素..............................................................................................................217

14.12.5.<set>元素.....................................................................................................................218

14.12.6.<foreach>元素............................................................................................................218

14.12.7.<bind>元素..................................................................................................................219

14.13.MyBatis的緩存機制 

 ...............................................................................................................220

14.13.1.一級緩存(SqlSession級別的緩存)......................................................................221

14.13.2.二級緩存(Mapper級別的緩存)............................................................................222

本章小結..........................................................................................................................................................224

習題14.............................................................................................................................................................225

 

 

15.1.系統設計..............................................................................................................................................226

15.1.1.系統的功能需求.................................................................................................................226

15.1.2.系統的模塊劃分.................................................................................................................227

15.2.數據庫設計.........................................................................................................................................227

15.2.1.數據庫的概念結構設計.....................................................................................................228

15.2.2.數據庫的邏輯結構設計.....................................................................................................229

15.2.3.創建數據表..........................................................................................................................230

15.3.系統管理..............................................................................................................................................231

15.3.1.添加相關依賴.....................................................................................................................231

15.3.2.視圖頁面及靜態資源管理.................................................................................................231

15.3.3.應用的包結構.....................................................................................................................232

15.3.4.配置文件..............................................................................................................................232

15.4.組件設計..............................................................................................................................................236

15.4.1.管理員登錄權限驗證攔截器.............................................................................................236

15.4.2.前臺用戶登錄權限驗證攔截器........................................................................................236

15.4.3.驗證碼..................................................................................................................................237

15.4.4.工具類..................................................................................................................................237

15.5.後台管理子系統的實現 

 .............................................................................................................237

15.5.1.管理員登錄..........................................................................................................................237

15.5.2.類型管理..............................................................................................................................238

15.5.3.新增商品..............................................................................................................................241

15.5.4.查詢商品..............................................................................................................................243

15.5.5.修改商品..............................................................................................................................246

15.5.6.刪除商品..............................................................................................................................248

15.5.7.查詢訂單..............................................................................................................................249

15.5.8.按月統計..............................................................................................................................250

15.5.9.按類型統計..........................................................................................................................253

15.5.10.安全退出...........................................................................................................................255

15.6.前臺電子商務子系統的實現 

 .....................................................................................................256

15.6.1.導航欄及首頁搜索.............................................................................................................256

15.6.2.最新商品..............................................................................................................................257

15.6.3.用戶註冊..............................................................................................................................258

15.6.4.用戶登錄..............................................................................................................................259

15.6.5.商品詳情..............................................................................................................................260

15.6.6.收藏商品..............................................................................................................................261

15.6.7.購物車..................................................................................................................................262

15.6.8.下單......................................................................................................................................264

15.6.9.個人信息..............................................................................................................................266

15.6.10.我的收藏...........................................................................................................................267

15.6.11.我的訂單...........................................................................................................................268

本章小結..........................................................................................................................................................269

習題15.............................................................................................................................................................269

 

 

16.1.Spring Boot概述.............................................................................................................................270

16.1.1.Spring Boot簡介.............................................................................................................270

16.1.2.Spring Boot的優點.........................................................................................................271

16.1.3.Spring Boot的主要特性.................................................................................................271

16.2.第一個Spring Boot應用 

 ........................................................................................................271

16.2.1.Maven簡介........................................................................................................................271

16.2.2.Maven的pom.xml.........................................................................................................272

16.2.3.使用IntelliJ IDEA快速構建Spring Boot應用..........................................................273

16.3.Spring Boot的基本配置 

 .........................................................................................................275

16.3.1.啟動類和核心註解@SpringBootApplication...........................................................275

16.3.2.Spring Boot的全局配置文件.........................................................................................276

16.3.3.Spring Boot的Starters.................................................................................................277

16.4.讀取應用配置 

 ..............................................................................................................................277

16.4.1.Environment.....................................................................................................................277

16.4.2.@Value...............................................................................................................................278

16.4.3.@ConfigurationProperties..........................................................................................279

16.4.4.@PropertySource...........................................................................................................280

16.5.日誌配置..............................................................................................................................................281

16.6.Spring Boot的自動配置原理.........................................................................................................282

本章小結..........................................................................................................................................................284

習題16.............................................................................................................................................................284

 

 

17.1.Thymeleaf模板引擎........................................................................................................................285

17.1.1.Spring Boot的Thymeleaf支持...................................................................................285

17.1.2.Thymeleaf的基礎語法....................................................................................................286

17.1.3.Thymeleaf的常用屬性....................................................................................................290

17.2.使用Spring Boot和Thymeleaf實現頁面信息的國際化 

 ................................................294

17.3.Spring Boot和Thymeleaf的表單驗證 

 ...............................................................................297

17.4.基於Thymeleaf和BootStrap的Web開發實例 

 ..............................................................299

本章小結..........................................................................................................................................................302

習題17.............................................................................................................................................................302

 

 

18.1.Spring Boot整合MyBatis 

 .....................................................................................................303

18.2.MyBatis-Plus快速入門 

 ............................................................................................................306

18.2.1.MyBatis-Plus簡介...........................................................................................................306

18.2.2.Spring Boot整合MyBatis-Plus...................................................................................306

18.3.MyBatis-Plus註解............................................................................................................................309

18.4.MyBatis-Plus代碼生成器...............................................................................................................312

18.4.1.安裝MyBatis-Plus代碼生成器......................................................................................312

18.4.2.配置MyBatis-Plus代碼生成器......................................................................................312

18.5.CRUD接口 

 ..................................................................................................................................320

18.5.1.Mapper CRUD接口........................................................................................................320

18.5.2.Service CRUD接口..........................................................................................................322

18.6.條件構造器.........................................................................................................................................328

本章小結..........................................................................................................................................................332

習題18.............................................................................................................................................................332

 

 

19.1.JUnit 5註解.......................................................................................................................................333

19.1.1.JUnit 5簡介.......................................................................................................................333

19.1.2.JUnit 5註解.......................................................................................................................334

19.1.3.JUnit 5斷言.......................................................................................................................335

19.2.單元測試用例 

 ..............................................................................................................................336

19.2.1.測試環境的構建.................................................................................................................337

19.2.2.測試Mapper接口............................................................................................................338

19.2.3.測試Service層..................................................................................................................340

19.3.使用Postman測試Controller層 

 .........................................................................................341

本章小結..........................................................................................................................................................343

習題19.............................................................................................................................................................343

 

 

20.1.系統設計..............................................................................................................................................344

20.1.1.系統的功能需求.................................................................................................................344

20.1.2.系統的模塊劃分.................................................................................................................344

20.2.數據庫設計.........................................................................................................................................345

20.2.1.數據庫的概念結構設計.....................................................................................................345

20.2.2.數據庫的邏輯結構設計.....................................................................................................345

20.3.系統管理..............................................................................................................................................346

20.3.1.項目依賴管理.....................................................................................................................346

20.3.2.頁面管理..............................................................................................................................346

20.3.3.包管理..................................................................................................................................347

20.3.4.分頁插件配置類.................................................................................................................347

20.3.5.全局配置文件.....................................................................................................................348

20.4.組件設計..............................................................................................................................................348

20.4.1.工具類..................................................................................................................................348

20.4.2.異常統一處理.....................................................................................................................349

20.4.3.驗證碼..................................................................................................................................350

20.5.名片管理..............................................................................................................................................350

20.5.1.領域模型與持久化實體類.................................................................................................350

20.5.2.Controller層的實現.........................................................................................................351

20.5.3.Service層的實現..............................................................................................................352

20.5.4.Dao層的實現.....................................................................................................................354

20.5.5.添加名片..............................................................................................................................355

20.5.6.管理名片..............................................................................................................................357

20.6.用戶相關..............................................................................................................................................360

20.6.1.領域模型與持久化實體類.................................................................................................360

20.6.2.Controller層的實現.........................................................................................................360

20.6.3.Service層的實現..............................................................................................................361

20.6.4.Dao層的實現.....................................................................................................................362

20.6.5.註冊......................................................................................................................................363

20.6.6.登錄......................................................................................................................................365

20.6.7.修改密碼..............................................................................................................................366

20.6.8.安全退出..............................................................................................................................367

本章小結..........................................................................................................................................................367

習題20.............................................................................................................................................................367