Spring Framework 6 開發實戰 (Spring + Spring Web MVC + MyBatis)

肖海鵬、耿衛江、王榮芝、張天怡、張志慧

  • 出版商: 清華大學
  • 出版日期: 2023-10-01
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 281
  • 裝訂: 平裝
  • ISBN: 7302642176
  • ISBN-13: 9787302642176
  • 相關分類: Java 相關技術
  • 立即出貨 (庫存 < 3)

  • Spring Framework 6 開發實戰 (Spring + Spring Web MVC + MyBatis)-preview-1
  • Spring Framework 6 開發實戰 (Spring + Spring Web MVC + MyBatis)-preview-2
  • Spring Framework 6 開發實戰 (Spring + Spring Web MVC + MyBatis)-preview-3
Spring Framework 6 開發實戰 (Spring + Spring Web MVC + MyBatis)-preview-1

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

商品描述

《Spring Framework 6開發實戰(Spring+Spring Web MVC+MyBatis)》基於框架Spring 6.x,按照“理論講解+貫穿案例”的模式詳細講解了SSM框架的應用技術。本書共10章,第1章對Spring框架進行簡單介紹;第2~4章結合員工系統分別講解Spring框架的核心功能IoC、AOP、聲明性事務等內容;第5章引入當當書城企業項目案例,結合具體項目講解Spring整合JDBC;第6章講解Spring MVC框架;第7章講解使用Spring MVC實現當當書城項目;第8章講解MyBatis框架的使用技術;第9、10章結合當當書城項目,講解SSM框架統一整合。 《Spring Framework 6開發實戰(Spring+Spring Web MVC+MyBatis)》適合具備Java基礎的SSM初學者和進階開發人員閱讀,也適合Java Web開發工程師閱讀,同時也可作為高等院校電腦、軟件工程專業高年級本科生、研究生相關課程的教材。

目錄大綱

目錄

 

 

 

第1章  Spring入門 1

1.1  Rod Johson與Spring 1

1.2  Spring與Jakarta EE的關系 2

1.2.1  Java EE與Jakarta EE 2

1.2.2  Jakarta EE是什麽 3

1.2.3  Jakarta EE 9架構 3

1.2.4  Spring與Jakarta EE 4

1.3  Spring Project介紹 5

1.3.1  Spring官網 5

1.3.2  Spring熱門Project 6

1.4  Spring Framework歷史版本比較 6

1.4.1  Spring Framework資料下載 6

1.4.2  Spring 6.x對比Spring 5.x的變化 6

1.4.3  Spring 6.x的趨勢 7

1.5  Spring Framework功能總覽 7

1.5.1  核心功能 7

1.5.2  數據層整合 7

1.5.3  Web層技術 7

1.5.4  外部系統集成 8

1.6  Spring Framework模塊組成 8

1.6.1  模塊架構圖 8

1.6.2  各模塊的職責 8

第2章  Spring IoC 10

2.1  IoC與DI的概念 10

2.2  IoC容器與ApplicationContext 10

2.3  IoC容器的創建與使用 11

2.3.1  創建IoC容器實例 11

2.3.2  從IoC容器讀取Bean 13

2.3.3  案例:hello入門 13

2.4  Bean管理 14

2.4.1  BeanDefinition 15

2.4.2  屬性id和name的區別 16

2.4.3  創建Bean對象 16

2.5  案例:HelloSpringIoC 20

2.5.1  面向接口編程 21

2.5.2  XML+反射實現IoC 22

2.5.3  Spring實現IoC 23

2.6  依賴註入 24

2.6.1  依賴註入介紹 24

2.6.2  項目案例:StaffUser系統與DI 24

2.6.3  構造器註入 28

2.6.4  Set方法註入 31

2.6.5  XML依賴配置詳解 33

2.6.6  Autowire註入 40

2.6.7  方法註入 44

2.6.8  依賴註入總結 47

2.7  Bean對象的範圍 48

2.7.1  配置Bean的範圍 49

2.7.2  singleton和prototype 49

2.7.3  案例:HelloSpringAction 50

2.7.4  Bean的Web應用 52

2.7.5  Bean的依賴 53

2.7.6  Java Bean的屬性範圍 54

2.8  定製Bean的特性信息 54

2.8.1  Bean的生命周期回調處理 55

2.8.2  Aware接口 59

2.9  IoC容器擴展 60

2.9.1  BeanPostProcessor接口 60

2.9.2  FactoryBean接口 62

2.10  註解配置 64

2.10.1  JSR相關註解 64

2.10.2  Spring相關註解 71

2.11  標準事件與自定義事件 73

2.11.1  標準事件 73

2.11.2  案例:郵件黑名單 73

2.11.3  案例:接收多類型消息 75

2.12  Bean工廠 76

2.12.1  BeanFactory接口 76

2.12.2  HierarchicalBeanFactory接口 76

2.12.3  ListableBeanFactory接口 77

2.12.4  實現類DefaultListableBeanFactory 77

2.12.5  Bean與BeanFactory 78

2.12.6  IoC容器與BeanFactory 78

第3章  面向切麵編程 80

3.1  AOP介紹 80

3.1.1  AOP中的專業術語 80

3.1.2  advice的通知類型 81

3.1.3  AOP動態代理選擇 81

3.2  @AspectJ支持 82

3.2.1  @AspectJ介紹 82

3.2.2  autoproxying配置 82

3.2.3  聲明Aspect 83

3.2.4  聲明 Pointcut 83

3.2.5  Pointcut表達式 83

3.2.6  聲明advice 85

3.2.7  案例:StaffUser日誌管理 88

3.2.8  案例:StaffUser數據庫連接管理 89

3.3  基於XML的AOP配置 89

3.3.1  聲明Aspect 90

3.3.2  聲明Pointcut 90

3.3.3  聲明Advice 91

3.3.4  使用Advisor 92

3.3.5  案例:StaffUser日誌管理 92

3.3.6  案例:StaffUser數據庫連接管理 94

3.4  動態代理機制 94

3.4.1  靜態代理 95

3.4.2 JDK動態代理 97

3.4.3  項目案例:自動管理數據庫連接 99

3.4.4  項目案例:員工系統的事務管理 102

3.4.5  項目案例:員工系統事務AspectJ方案 107

第4章  Spring整合JDBC 111

4.1  事務分類 111

4.2  Spring事務模型 113

4.3  Spring事務抽象模型 114

4.4  事務與資源管理 116

4.5  Spring聲明性事務 117

4.5.1  XML方式管理聲明性事務 117

4.5.2  項目案例:StaffUser事務的XML方案 118

4.5.3  JdbcDaoSupport 121

4.5.4  註解管理聲明性事務 122

4.5.5  項目案例:StaffUser事務註解方案 123

4.6  Spring編程式事務 124

4.6.1  編程式事務介紹 124

4.6.2  案例:Spring編程式事務新增員工 125

4.7 聲明性事務與編程式事務選擇 126

4.8 Spring事務傳播 126

4.8.1  Propagation.REQUIRED設置 127

4.8.2  Propagation.REQUIRES_NEW設置 131

4.8.3  Propagation.NESTED設置 132

第5章  當當書城Spring整合JDBC 133

5.1  當當書城基本功能 133

5.1.1  項目開發環境 133

5.1.2  表結構設計 133

5.1.3  當當書城原型 134

5.2  Spring整合JDBC實戰 137

5.2.1  導包 137

5.2.2  Spring配置文件 138

5.2.3  封裝BaseDao 139

5.2.4  封裝SpringFactory 140

5.2.5  定義Spring Bean和依賴關系 140

5.2.6  配置聲明性事務 140

5.2.7  控制器調用Bean 141

5.2.8  項目部署 141

第6章  Spring Web MVC 142

6.1  Spring Web MVC介紹 142

6.1.1  視圖與控制層技術介紹 142

6.1.2  Spring MVC概述 142

6.1.3  Spring MVC特性支持 143

6.2  案例:HelloMVC 144

6.2.1  環境配置 144

6.2.2  Model與控制器 144

6.2.3  MVC架構 145

6.3  案例:HelloSpringmvc入門示例 146

6.3.1  導包 146

6.3.2  配置前端控制器DispatcherServlet 146

6.3.3  核心配置文件 146

6.3.4  編寫HelloAction 147

6.3.5  編寫視圖 147

6.3.6  瀏覽器測試 147

6.3.7  配置log4j 147

6.4  前端控制器DispatcherServlet 148

6.4.1  Spring MVC架構圖 148

6.4.2  DispatcherServlet與IoC容器的關系 149

6.4.3  DispatcherServlet核心功能 150

6.5  DispatcherServlet的工作流程 151

6.5.1  查看源代碼 151

6.5.2  斷點觀察DispatcherServlet運行流程 151

6.5.3  前端控制器的doDispatch方法 153

6.5.4  創建IoC容器 154

6.6  @Controller 156

6.6.1  @Controller的作用域 156

6.6.2  @RequestMapping 157

6.6.3  控制器異步處理 180

6.7  攔截器 182

6.7.1  HandlerMapping 182

6.7.2  案例:非工作時間拒絕服務 183

6.7.3  攔截器運行流程分析 184

6.8  視圖解析 185

6.8.1  視圖解析的主要接口 185

6.8.2  JSP視圖 186

6.8.3  ViewResolver解析視圖 187

6.8.4  視圖解析器鏈 187

6.8.5  重定向到視圖 188

6.9  使用Flash屬性 191

6.10  使用Locale 191

6.10.1  Locale解析器 192

6.10.2  Locale攔截器 193

6.10.3  案例:國際化應用 193

6.11  主題Theme 196

6.12  multipart文件上傳 198

6.12.1  Spring multipart介紹 199

6.12.2  案例:圖片上傳 199

6.13  異常處理 200

6.13.1  HandlerExceptionResolver 200

6.13.2  SimpleMappingExceptionResolver 200

6.13.3  @ExceptionHandler 201

6.13.4  標準異常解析 202

6.14  JSP & JSTL 204

6.14.1  JSP與JSTL介紹 204

6.14.2  Spring MVC基礎標簽 204

6.14.3  form標簽庫 205

第7章  當當書城Spring MVC實戰 207

7.1  導包 207

7.2  配置web.xml 207

7.3  配置spring-mvc.xml 208

7.4  用戶權限校驗 209

7.5  書城主頁實現 210

7.6  圖書詳情頁實現 210

7.7  用戶管理 211

7.7.1  用戶登錄 211

7.7.2  用戶退出 212

7.8  購物車實現 212

7.8.1  購物車設計 212

7.8.2  我的購物車 212

7.8.3  加入購物車 213

7.8.4  移出購物車 213

7.9  用戶付款 213

7.9.1  結算 213

7.9.2  付款 215

7.10  圖書上架 215

7.11  系統異常設計 217

第8章  MyBatis持久層框架 219

8.1  案例:MyBatis快速入門 219

8.1.1  導包 219

8.1.2  創建SqlSessionFactory單例 219

8.1.3  從SqlSessionFactory獲得SqlSession 220

8.1.4  映射接口和映射文件 221

8.1.5  配置映射指向 221

8.1.6  Mapper調用 221

8.1.7  代碼測試 221

8.1.8  Log4j跟蹤MyBatis 222

8.2  MyBatis原理分析 222

8.2.1  SqlSession與Connection 222

8.2.2  SqlSession的getMapper 223

8.3  MyBatis配置 225

8.3.1  properties屬性配置 226

8.3.2  settings配置 227

8.3.3  typeAliases配置 229

8.3.4  typeHandlers 230

8.3.5  objectFactory配置 233

8.3.6  plugins攔截器 235

8.3.7  環境配置 236

8.3.8  databaseIdProvider 241

8.3.9  Mappers配置 242

8.4  Mapper映射XML文件 243

8.4.1  mapper元素 243

8.4.2  select元素 244

8.4.3  insert、update和delete元素 245

8.4.4  項目案例:新增員工 247

8.4.5  項目案例:員工打卡 250

8.4.6  參數處理 253

8.4.7  ResultMap 255

8.4.8  項目案例:員工打卡記錄查詢 259

8.4.9  緩存 262

8.5  動態SQL 265

8.5.1  判斷:if 265

8.5.2  分支:choose, when 267

8.5.3  循環:foreach 268

第9章  Spring整合MyBatis 270

9.1  整合資料下載 270

9.2  導包 270

9.3  Spring配置文件 271

9.4  配置Bean和依賴註入 272

9.5  聲明性事務 272

9.5.1  只讀事務 273

9.5.2  寫操作事務管理 273

第10章  當當書城SSM整合 275

10.1  搭建SSM整合環境 275

10.1.1  導包 275

10.1.2  配置myBatis.xml 275

10.1.3  配置beans.xml 276

10.1.4  Mapper接口與映射文件 276

10.1.5  持久層依賴註入Mapper 277

10.2  MyBatis映射實現 277

10.2.1  主頁推薦圖書 277

10.2.2  圖書詳情 278

10.2.3  用戶管理 278

10.2.4  購物車 278

10.2.5  用戶付款 279

10.2.6  圖書上架 281

IV

 

 

V