Spring + MyBatis 企業應用實戰

瘋狂軟件

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

商品描述

<內容簡介>

本書介紹了Java EE領域的兩個開源框架:Spring的MVC和MyBatis。其中Spring的版本為4.2,MyBatis的版本是3.4。本書的示例建議在Tomcat 8上運行。本書重點介紹如何整合Spring MVC 4+MyBatis 3進行Java EE開發,主要包括三個部分。首篇詳細介紹了Spring MVC框架的用法。第二部分詳細介紹了MyBatis框架的用法。第三部分重點介紹了Spring MVC4+MyBatis 3的整合,並示範開發了一個包含6個表、表之間具有復雜的關聯映射關係,且業務功能也相對完善的HRM人事管理系統案例,希望讓讀者理論聯繫實際,將這兩個框架真正運用到實際開發當中去。該案例採用目前流行、規範的Java EE架構,整個應用分為DAO持久層、領域對象層、業務邏輯層、控制器層和視圖層,各層之間分層清晰,層與層之間以鬆耦合的方法組織在一起。所有代碼完全基於Eclipse IDE來完成,一步步帶領讀者深入兩個框架的核心。閱讀本書之前,建議先閱讀瘋狂軟件教育的《瘋狂Java講義》一書。本書適合有較好的Java編程基礎,JSP、Servlet、JDBC基礎,Spring框架基礎的讀者,尤其適合於對Spring MVC和MyBatis瞭解不夠深入,或對Spring MVC+MyBatis整合開發不太熟悉的開發人員閱讀。

<章節目錄>

第1章 Java EE應用
1.1 Java EE應用概述2
1.1.1 Java EE應用的分層模型2
1.1.2 Java EE應用的組件3
1.1.3 Java EE應用的結構和優勢4
1.2輕量級Java EE應用相關技術4
1.2.1 JSP、Servlet和JavaBean及替代技術4
1.2.2 MyBatis3及替代技術5
1.2.3 Spring4及替代技術6
1.2.4使用開源框架的好處7
1.3本章小結7

第2章 Spring MVC簡介
2.1 MVC思想概述9
2.1.1傳統Model1和Model2 9
2.1.2 MVC思想及其優勢10
2.2 Struts2和Spring MVC 11
2.3開發第一個Spring MVC應用11
2.3.1 Spring的下載和安裝11
2.3. 2 Spring MVC的DispatcherServlet 12
2.3.3基於Controller接口的控制器13
示例:第一個Spring MVC應用13
示例:基於註解的控制器17
2.4詳解DispatcherServlet 19
2.5 Spring MVC執行的流程21
2.5.1 Spring MVC應用的開發步驟22
2.5.2 Spring MVC執行的流程23
2.6本章小結24

第3章 Spring MVC的常用註解
3.1 @Controller註解26
示例:@Controller註解的使用26
3.2 @RequestMapping註解28
3.2.1 @RequestMapping註解28
3.2.2請求處理方法可出現的參數類型30
3.2.3請求處理方法可返回的類型31
3.2.4 Model和ModelAndView 31
示例:Model和ModelMap的使用32
示例:ModelAndView的使用33
3.3參數綁定註解33
3.3.1 @RequestParam註解33
示例:@RequestMapping和@RequestParam註解的使用34
3.3.2 @PathVariable註解38
3.3.3 @RequestHeader註解38
3.3.4 @CookieValue註解39
示例:@PathVariable、@RequestHeader和@CookieValue註解的使用39
3.3.5 @SessionAttributes註解41
示例:@SessionAttributes註解的使用41
3.3.6 @ModelAttribute註解42
示例:@ModelAttribute註解的使用43
3.4信息轉換49
3.4.1 HttpMessageConverter<T>接口49
3.4.2轉換JSON數據51
示例:接收JSON格式的數據51
示例:自定義HttpMessageConverter接收JSON格式的數據55
示例:返回JSON格式的數據57
示例:自定義HttpMessageConverter返回JSON格式的數據58
3.4.3轉換XML數據59
示例:接收XML格式的數據59
示例:返回XML格式的數據61
3.5本章小結62

第4章 Spring MVC的標籤庫
4.1表單標籤庫65
4.1.1 form標籤65
4.1.2 input標籤66
示例:form和input標籤的使用66
4.1.3 password標籤68
4.1.4 hidden標籤69
4.1.5 textarea標籤69
4.1.6 checkbox標籤70
示例:checkbox標籤的使用70
4.1.7 checkboxes標籤71
示例:checkboxes標籤的使用72
4.1. 8 radiobutton標籤76
示例:radiobutton標籤的使用76
4.1.9 radiobuttons標籤77
示例:radiobuttons標籤的使用77
4.1.10 select標籤79
4.1.11 option標籤79
4.1.12 options標籤79
示例:select、option和options標籤的使用80
4.1.13 errors標籤83
示例:errors標籤的使用84
4.2本章小結86

第5章 Spring MVC的國際化
5.1 Spring MVC國際化的相關知識88
5.1.1 messageSource 88
5.1.2 localeResolver 88
5.1. 3 message標籤89
5.2 AcceptHeaderLocaleResolver國際化89
示例:基於瀏覽器請求的國際化實現89
5.3 SessionLocaleResolver國際化92
示例:基於HttpSession的國際化實現93
5.4 CookieLocaleResolver國際化95
示例:基於Cookie的國際化實現95
5.5本章小結96

第6章 Spring MVC的數據轉換、格式化和數據校驗
6.1數據綁定流程98
6.2數據轉換98
6.2.1 ConversionService 98
6.2.2 Spring支持的轉換器99
示例:使用ConversionService轉換數據100
示例:使用@InitBinder添加自定義編輯器轉換數據103
示例:使用WebBindingInitializer註冊全局自定義編輯器轉換數據103
6.2.3多種轉換器的優先級104
6.3數據格式化104
示例:使用Formatter格式化數據105
示例:使用FormatterRegistrar註冊Formatter 107
示例:使用AnnotationFormatterFactory<A extends Annotation>格式化數據108
6.4數據校驗110
6.4.1 Spring的Validation校驗框架111
示例:測試Spring的Validation校驗112
6.4.2 JSR 303校驗114
示例:測試JSR 303校驗115
6.5本章小結120 

第7章 Spring MVC的文件上傳和下載
7.1文件上傳122
示例:Spring MVC的文件上傳122
示例:使用對象接收上傳文件124
7.2文件下載125
示例: Spring MVC的文件下載125
7.3攔截器126
7.3.1 HandlerInterceptor接口127
示例:攔截器實現用戶權限驗證127
7.4本章小結131

第8章 MyBatis簡介
8.1 ORM和MyBatis 133
8.1.1對象/關係數據庫映射(ORM ) 133
8.1.2基本映射方式134
8.1.3流行的ORM框架簡介135
8.1.4 MyBatis概述135
8.2 MyBatis入門136
8.2.1 MyBatis下載和安裝136
8.2.2 MyBatis的數據庫操作137
8.3本章小結142

第9章MyBatis的基本用法
9.1 MyBatis的體系結構144
9.1.1 SqlSessionFactory 144
9.1.2 SqlSession 144
9.2深入MyBatis的配置文件146
9.2.1 MyBatis的配置文件結構147
9.2.2 properties屬性147
9.2.3 settings設置148
9.2.4 typeAliases類型命名150
9.2.5 typeHandlers類型處理器151
9.2.6 objectFactory對象工廠152
9.2.7 environments配置環境152
9.2.8 mapper映射器154
9.3深入Mapper XML映射文件155
9.3.1 select 155
9.3. 2 insert、update和delete 157
9.3.3 sql 158
9.3.4參數(Parameters) 159
示例:測試select、insert、update和delete操作159
9.3.5 ResultMaps 163
示例:測試ResultMaps 163
9.4本章小結169

第10章 MyBatis的關聯映射和動態SQL
10.1 MyBatis的關聯映射171
10.1.1一對一171
示例:OneToOneTest 171
10.1.2一對多174
示例:OneToManyTest 174
10.1.3多對多179
示例:ManyToManyTest 179
10.2動態SQL 185
示例:DynamicSQLTest 185
10.2.1 if 186
10.2.2 choose(when、otherwise) 188
10.2.3 where 190
10.2.4 set 191
10.2.5 foreach 192
10.2.6 bind 193
10.3本章小結194

第11章 MyBatis的事務管理和緩存機制
11.1 MyBatis的事務管理196
11.1.1事務的概念196
11.1.2 Transaction接口196
11.1.3事務的配置創建和使用197
11.2 MyBatis的緩存機制201
11.2.1一級緩存(SqlSession級別) 201
11.2.2示例OneLevelCacheTest 201

目錄大綱