1.貼近實際項目,以案例驅動
本書針對每一個知識點都通過相應的程序給齣瞭示範,所有應用範例都密切契閤企業開發實際場景,例如用戶權限驗證、文件上傳下載等都是企業開發實際功能,同時采用瞭目前企業流行、規範的開發架構,嚴格遵守Java EE開發規範。讀者參考本書的架構,完全可以身臨其境地感受企業實際項目開發。
2.內容深入,講解細緻
本書的特點是操作步驟詳細,編程思路清晰,語言平實易懂。隻要讀者認真閱讀本書,並掌握書中知識,那麼就完全可以勝任企業中Spring MVC+MyBatis項目開發的要求。
3.注釋詳細
本書的代碼,幾乎每行核心語句都有注釋,讀者可以很容易地瞭解代碼的意圖,輕鬆掌握相應的知識。
《Spring+MyBatis企業應用實戰》介紹瞭Java EE領域的兩個開源框架:Spring的MVC和MyBatis。其中Spring的版本為4.2,MyBatis的版本是3.4。《Spring+MyBatis企業應用實戰》的示例建議在Tomcat 8上運行。《Spring+MyBatis企業應用實戰》重點介紹如何整閤Spring MVC 4+MyBatis 3進行Java EE開發,主要包括三個部分。第一部分詳細介紹瞭Spring MVC框架的用法。第二部分詳細介紹瞭MyBatis框架的用法。第三部分重點介紹瞭Spring MVC4+MyBatis 3的整閤,並示範開發瞭一個包含6個錶、錶之間具有復雜的關聯映射關係,且業務功能也相對完善的HRM人事管理係統案例,希望讓讀者理論聯係實際,將這兩個框架真正運用到實際開發當中去。該案例采用目前流行、規範的Java EE架構,整個應用分為DAO持久層、領域對象層、業務邏輯層、控製器層和視圖層,各層之間分層清晰,層與層之間以鬆耦閤的方法組織在一起。所有代碼完全基於Eclipse IDE來完成,一步步帶領讀者深入兩個框架的核心。閱讀《Spring+MyBatis企業應用實戰》之前,建議先閱讀瘋狂軟件教育的《瘋狂Java講義》一書。《Spring+MyBatis企業應用實戰》適閤有較好的Java編程基礎,JSP、Servlet、JDBC基礎,Spring框架基礎的讀者,尤其適閤於對Spring MVC和MyBatis瞭解不夠深入,或對Spring MVC+MyBatis整閤開發不太熟悉的開發人員閱讀。
多年來從事Java開發、移動開發等方麵的培訓與研發工作,承接大型研發項目,有多款商用APP在Apple Store及Android市場上綫。
第1章 Java EE應用 1
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簡介 8
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的常用注解 25
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的標簽庫 64
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的國際化 87
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的數據轉換、格式化和數據校驗 97
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的文件上傳和下載 121
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簡介 132
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的基本用法 143
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 170
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的事務管理和緩存機製 195
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
示例OneLevelCacheTest 201
11.2.2 二級緩存(mapper級彆) 204
示例:TwoLevelCacheTest 204
11.3 本章小結 207
第12章 MyBatis的注解配置 208
12.1 常用Annotation注解 209
12.2 Annotation注解的使用 209
示例:測試select、insert、update和delete操作 210
示例:AOneToOneTest 213
示例:AOneToManyTest 215
示例:AManyToManyTest 216
示例:ADynamicSQLTest 218
12.3 本章小結 224
第13章 Spring4整閤MyBatis3 225
13.1 開發環境搭建 226
13.2 準備所需的jar包 226
13.3 準備數據庫資源 226
13.4 完成配置文件 227
13.5 持久層功能實現 229
13.6 服務層功能實現 230
13.7 控製層功能實現 232
13.8 jsp頁麵 233
13.9 測試Spring4整閤MyBatis3 234
13.10 本章小結 235
第14章 實戰項目:人事管理係統 236
14.1 項目簡介及係統結構 237
14.1.1 係統功能介紹 237
14.1.2 相關技術介紹 238
14.1.3 係統結構 238
14.1.4 係統的功能模塊 239
14.2 數據錶和持久化類 239
14.2.1 設計數據庫錶 239
14.2.2 設計持久化實體 241
14.2.3 創建持久化實體類 242
14.3 實現DAO持久層 248
14.3.1 公共常量類 249
14.3.2 定義DAO接口 249
14.3.3 部署DAO層 263
14.4 實現Service持久層 264
14.4.1 業務邏輯組件的設計 264
14.4.2 實現業務邏輯組件 264
14.4.3 事務管理 279
14.4.4 部署業務邏輯組件 279
14.5 實現Web層 280
14.5.1 控製器的處理順序 280
14.5.2 用戶管理 283
14.5.3 部門管理 287
14.5.4 職位管理 290
14.5.5 員工管理 292
14.5.6 公告管理 296
14.5.7 下載中心 299
14.6 本章小結 303
附錄A EL錶達式和JSTL標簽庫 304
時至今日,以Spring為核心的輕量級Java EE企業開發平颱在企業開發中占有絕對的優勢,Java EE應用以其穩定的性能、良好的開放性以及嚴格的安全性,深受企業應用開發者的青睞,應用的性能、穩定性都有很好的保證。
輕量級Java EE開發大緻可分為兩種方式:以Struts+Spring+Hibernate三大框架為核心的輕量級Java EE,以Spring MVC+MyBatis為核心的輕量級Java EE。這兩種組閤都在保留經典Java EE應用架構、高度可擴展性、高度可維護性的基礎上,降低瞭JavaEE應用的開發、部署成本,對於大部分中小型企業應用是第一首選。
本書重點介紹以Spring MVC+MyBatis為核心的輕量級Java EE。本書采用Tomcat 8作為Web服務器,Eclipse IDE作為開發工具,詳細介紹瞭Spring MVC和MyBatis框架。Spring MVC的配置全部使用注解方式,不再采用舊版本中傳統的XML配置方式;MyBatis則基於企業開發實際情況,首先介紹瞭傳統的XML持久化映射,之後又介紹瞭升級的注解持久化映射。
隨著Spring的不斷發展,Spring MVC已有取代Struts的能力,而MyBatis相對Hibernate而言則更為輕便、簡單,越來越多的公司選擇使用Spring MVC+MyBatis的輕量級框架組閤來開發Java EE項目,掌握Spring MVC+MyBatis的技術將為Java開發者帶來更多的就業機會與競爭力。
本書有什麼特點
本書是一本介紹Spring MVC+MyBatis技術以及兩者整閤的實用圖書,全麵介紹瞭最新的Spring MVC和MyBatis各方麵的知識。
本書針對每一個知識點都通過相應的程序給齣瞭示範,第14章的實戰項目“HRM人事管理係統”采用目前最流行、最規範的Java EE架構,整個應用分為DAO持久層、領域對象層、業務邏輯層、控製器層和視圖層,各層之間分層清晰,層與層之間以鬆耦閤的方法組織在一起。筆者既擔任過軟件開發的技術經理,也擔任過軟件公司的培訓導師,現如今從事專業、高端的職業技術培訓,所有應用範例都密切契閤企業開發實際場景,例如用戶權限驗證、文件上傳下載等都是企業開發實際功能,同時采用瞭目前企業最流行、最規範的開發架構,嚴格遵守Java EE開發規範。讀者參考本書的架構,完全可以身臨其境地感受企業實際項目開發。
本書並不是一本關於所謂“思想”的書,也沒有一堆“深奧”的新名詞和“高深”的思想,隻會讓讀者學會實際的Spring MVC和MyBatis技術。本書的特點是操作步驟詳細,編程思路清晰,語言平實易懂。隻要讀者認真閱讀本書,並掌握書中知識,那麼就完全可以勝任企業中Spring MVC+MyBatis項目開發。
閱讀本書需要具備一定的計算機知識以及編程功底。熟練掌握Java語言和Spring框架的IOC、AOP和持久層的ORM設計模式等知識對於學習本書是很有必要的。
本書寫給誰看
如果你已經掌握Java SE內容,或已經學完瞭瘋狂軟件教育的《瘋狂Java講義》一書,那麼你非常適閤閱讀此書。除此之外,如果你已有初步的JSP、Servlet、JDBC基礎,甚至對Spirng、MyBatis等框架有所瞭解,但希望掌握它們在實際開發中應用,本書也將非常適閤你。如果你對Java的掌握還不熟練,則建議遵從學習規律,循序漸進,暫時不要購買、閱讀此書,而是按照“瘋狂Java學習路綫圖”中的建議順序學習。
衷心感謝
衷心感謝李剛老師,他是一個非常好的朋友,在本書的創作過程中,他提供瞭大量切實、有用的幫助。同時衷心感謝瘋狂軟件教育中心所有同事提供的幫助。
感謝所有參加瘋狂軟件實訓的學生,他們在實際工作場景的應用證明瞭本書的價值,他們的反饋讓本書更加實用。
肖文吉
2016年11月16日
這本書的編排邏輯,給我一種“意猶未盡”的感覺。它似乎試圖覆蓋Spring和MyBatis的方方麵麵,但每一點都蜻蜓點水,沒有深入挖掘。我期待能看到更多關於復雜查詢優化、SQL注入的防禦機製、緩存策略的深入對比和選擇,甚至包括如何在Spring Boot環境下更便捷地集成和配置MyBatis Plus,實現更高效的開發。書中關於MyBatis的攔截器機製,雖然提到瞭,但卻沒有深入講解如何通過攔截器實現動態SQL生成、日誌記錄、甚至數據加密等高級功能。同樣,Spring的事務管理,書中也隻是簡單介紹瞭`@Transactional`注解的使用,但對於聲明式事務的底層原理、事務傳播行為的深入解析,以及在特定場景下(如跨多個數據庫事務)的復雜處理,都付之闕如,這讓我覺得這本書更適閤初學者作為入門教材,但對於希望在企業級應用開發中精進技藝的開發者而言,它提供的指導意義有限。
评分不得不說,這本書在Spring和MyBatis的基本概念講解上,還是比較清晰的。但是,當我想深入瞭解如何在實際企業項目中,利用這些技術構建高並發、高可用的係統時,卻發現內容相當有限。例如,書中對於MyBatis的動態SQL,雖然有介紹,但對於如何通過更高級的SQL技巧來優化查詢性能,如何避免SQL注入的潛在風險,以及如何利用MyBatis的緩存機製來提升數據訪問效率,並沒有給予足夠的篇幅。而Spring的部分,雖然提及瞭AOP和IoC,但對於如何在企業級應用中,利用Spring的強大功能來統一管理配置、實現日誌審計、或者進行高效的錯誤處理,缺乏具體的實戰案例。我更希望看到的是關於如何設計一套可維護、可擴展的數據庫訪問層,以及如何在Spring Boot項目中,利用MyBatis Plus等工具來加速開發進程,但這些內容在書中並不突齣。
评分翻閱《Spring+MyBatis企業應用實戰》,感覺它像是一本概念性的指南,而不是一本指導性的實戰手冊。書中對Spring的IoC容器、Bean的生命周期、以及MyBatis的Mapper接口、SQL映射文件的基本原理都有涉及,但對於如何將這些零散的知識點融會貫通,形成一套完整的企業級應用解決方案,卻顯得力不從心。我期待的是能看到如何針對復雜的業務場景,設計齣更優的數據庫錶結構,如何利用MyBatis的動態SQL功能來生成高效的SQL語句,以及如何通過Spring的事務管理來保證數據的一緻性。書中對於這些方麵的探討,大多流於錶麵,缺乏深入的分析和實踐指導。例如,對於MyBatis的二級緩存,書中隻是簡單提及,但並未深入講解其工作原理、配置選項以及在分布式環境下的適用性。同樣,Spring Cloud下的數據一緻性解決方案,也並未在本書中找到詳細的論述。
评分初次翻開《Spring+MyBatis企業應用實戰》,就被那沉甸甸的紙張和厚實的篇幅所吸引,仿佛預示著一場深入的探索即將展開。然而,當我迫不及待地想要一窺書中精髓,試圖尋找那些在實際開發中常常遇到的痛點,諸如分布式事務如何優雅落地、微服務架構下的數據一緻性如何保證、亦或是如何構建高可用、高性能的數據庫訪問層,甚至連Spring Cloud生態中與MyBatis深度整閤的各種最佳實踐,都未能找到讓我眼前一亮的章節。這本書更多地停留在瞭一些基礎概念的闡述,比如Spring IoC的注入方式、AOP的切麵配置,以及MyBatis的基礎CRUD操作和XML映射的編寫。雖然這些是構建企業級應用的基礎,但對於已經有一定Java EE開發經驗,尤其是在Spring和MyBatis領域有過實踐的讀者來說,這些內容顯得過於淺顯,缺乏足夠的深度和廣度。
评分讀完《Spring+MyBatis企業應用實戰》,我發現書中關於“企業應用”的實踐部分,似乎與我的理解有些偏差。我原本期望能看到更多關於如何應對高並發場景下的數據庫瓶頸,例如連接池的精細化調優、讀寫分離的實現策略,以及如何結閤Redis等緩存技術來減輕數據庫壓力。書中雖然提到瞭Spring的事務管理,但對於如何在復雜業務流程中設計健壯的事務邊界,以及如何處理事務迴滾時的補償機製,缺乏實際的案例分析和指導。此外,對於Spring Cloud微服務架構下,如何進行數據分片、如何實現服務間的數據同步與一緻性,這些在現代企業級應用中至關重要的問題,書中也沒有深入探討。感覺這本書更偏嚮於講解Spring和MyBatis的基本用法,而對於如何將這些技術棧成功應用於復雜、大規模的企業級項目中,所提供的實際指導和解決方案卻相對稀少。
评分一直信赖京东,物流和服务都赞赞的。囤货大妈会经常光顾哒
评分java的工作流是有必要了解一下的,据说都用这个
评分很适合做企业开发的
评分不得不说这个快递速度,真的快,而且好!
评分这本书非常好,包含了spring cloud所有子模块的实例。
评分活动期间买的,优惠很大,还没开始看,先屯着
评分很详细也有视频和代码很棒
评分有些书的质量还可以,价格有些实在太贵了,比其他书店贵一些
评分正品图书,内容很好,讲得很棒,高兴就靠它啦
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有