發表於2024-11-26
涵蓋Java EE主流框架技術SSM+Redis,快速上手開發
用Spring MVC整閤MyBatis框架技術
用Spring整閤Redis在Java互聯網技術上的應用
通過秒殺、搶紅包講解互聯網高並發業務
隨著移動互聯網的興起,以Java技術為後颱的互聯網技術占據瞭市場的主導地位,而在Java互聯網後颱開發中,SSM框架(Spring+Spring MVC+MyBatis)成為瞭主要架構,本書以此為焦點從入門到實際工作要求講述瞭SSM框架的技術應用;與此同時,為瞭提高係統性能,NoSQL(尤其是Redis)在互聯網係統中已經廣泛使用,為瞭適應這個變化,本書通過Spring講解瞭有關Redis的技術應用,這樣更加貼近實際學習和工作的需要。
本書主要分為6個部分,第1部分對Java互聯網的框架和主要涉及的模式做初步簡介;第2部分講述MyBatis技術;第3部分講述Spring基礎(包括IoC、AOP和數據庫應用),重點講解Spring數據庫事務應用,以滿足互聯網企業的應用要求;第4部分,講述Spring MVC框架;第5部分,通過Spring技術的應用,講解Redis技術;第6部分,講解SSM+Redis實踐應用,通過互聯網高並發如搶票、搶紅包等場景,使用全注解的方式講解SSM框架的整閤,以及高並發與鎖的應用和係統性能優化。
本書結閤企業的實際需求,從原理到實踐全麵講解SSM+Redis技術應用,無論你是Java程序員、SSM應用和研究人員,還是Redis應用人員、互聯網開發人員,都可以從本書中收獲知識。
楊開振,擁有十餘年一綫Java開發工作經驗,熱衷於Java互聯網技術方嚮研究,目前從事Java互聯網技術在綫教育,著有暢銷書《深入淺齣MyBatis技術原理與實戰》。
周吉文,高級工程師,曾獲廣東省科技進步一等奬,曾任國傢“863”計劃項目軟件組組長,擔任珠海市第二人民醫院信息部主任多年,有豐富的項目實施和管理經驗。
梁華輝,資深Java開發專傢,有豐富的企業級應用及Web項目的開發經驗。對軟件設計模式和代碼整潔方麵有深入理解,對Spring、Hibernate等主流開源框架有深入研究。
譚茂華,資深Java開發專傢,擁有十餘年供應鏈管理、金融、物聯網等行業大型係統軟件開發經驗。熱衷於軟件架構、軟件研發過程控製、Java開源技術(尤其是Spring體係技術)的研究。
本書從基礎理論講起,菜鳥可以由此登堂入室,功力再上一層樓。結閤源碼分析,深入淺齣,輕鬆一窺底層原理,適閤大俠修煉內功。書中案例非常切閤互聯網應用的實際,對架構設計有很好的藉鑒和參考意義。
——前華為架構師、騰訊高級工程師
代繼紅
高速數據流和高並發訪問是目前互聯網應用數據處理層麵臨的嚴峻挑戰。本書對互聯網時代業界流行的“SSM+Redis”的Java互聯網技術進行瞭詳細介紹,給需要搭建高效互聯網應用的企業或個人提供瞭應對挑戰的利器。本書內容由淺入深,邏輯清晰,代碼豐富,可操作性強,是一本既適閤新手入門又適閤高手修煉的技術寶典。
——廣西大學教授
許嘉
本書從基礎理論到實際應用,全麵深入地介紹瞭互聯應用開發的流行技術,熟讀本書必能成為互聯網應用開發的行傢裏手。
——深圳某知名互聯網金融公司高級Java軟件工程師
姚潤泉
本書從實用的角度齣發,詳細闡述瞭一個互聯網係統框架搭建的過程。針對Spring、Spring MVC、MyBatis這三大主流框架的機製原理、環境搭建、係統開發的方方麵麵都有詳細描述。針對目前比較流行的Redis緩存及NoSql數據庫進行瞭詳細介紹,這是本書的亮點。
——安潤普科技有限公司軟件研發副總監兼雲平颱架構師
葉劍飛
通過多年對Web後端架構的理解和實踐經驗,作者從框架底層原理展開,結閤示意圖、示意錶、程序實例片段,深入剖析瞭SSM框架,同時對SSM框架和主流技術的結閤進行瞭實例介紹。本書適應的讀者層次很廣,既適閤初學者入門,也適閤老手深造。
——泰坦軟件係統有限公司項目總監
聶凱如
本書通過精要的描述、清晰的圖示和恰當的示例,由淺入深闡述當前流行的Java EE互聯網框架技術原理和應用,是學習Java互聯網技術應用難得一見的好書。
——《Qt Quick核心編程》作者、訂閱號“程序視界”創建者
第1部分 入門和技術基礎
第1章 認識SSM框架和Redis 2
1.1 Spring框架 2
1.2 MyBatis簡介 6
1.3 Spring MVC簡介 11
1.4 最流行的NoSQL——Redis 12
1.5 SSM+Redis結構框圖及概述 13
第2章 Java設計模式 15
2.1 Java反射技術 15
2.2 動態代理模式和責任鏈模式 19
2.3 觀察者(Observer)模式 30
2.4 工廠模式和抽象工廠模式 35
2.5 建造者(Builder)模式 38
2.6 總結 41
第2部分 互聯網持久框架——MyBatis
第3章 認識MyBatis核心組件 44
3.1 持久層的概念和MyBatis的特點 44
3.2 準備MyBatis環境 45
3.3 MyBatis的核心組件 46
3.4 SqlSessionFactory(工廠接口) 47
3.5 SqlSession 50
3.6 映射器 51
3.7 生命周期 55
3.8 實例 57
第4章 MyBatis配置 63
4.1 概述 63
4.2 properties屬性 64
4.3 settings設置 66
4.4 typeAliases彆名 69
4.5 typeHandler類型轉換器 72
4.6 ObjectFactory(對象工廠) 87
4.7 插件 89
4.8 environments(運行環境) 89
4.9 databaseIdProvider數據庫廠商標識 95
4.10 引入映射器的方法 99
第5章 映射器 102
5.1 概述 102
5.2 select元素——查詢語句 103
5.3 insert元素——插入語句 112
5.4 update元素和delete元素 114
5.5 sql元素 115
5.6 參數 116
5.7 resultMap元素 118
5.8 級聯 120
5.9 緩存 143
5.10 存儲過程 149
第6章 動態SQL 155
6.1 概述 155
6.2 if元素 156
6.3 choose、when、otherwise元素 156
6.4 trim、where、set元素 157
6.5 foreach元素 159
6.6 用test的屬性判斷字符串 159
6.7 bind元素 160
第7章 MyBatis的解析和運行原理 162
7.1 構建SqlSessionFactory過程 163
7.2 SqlSession運行過程 168
第8章 插件 181
8.1 插件接口 181
8.2 插件的初始化 182
8.3 插件的代理和反射設計 183
8.4 常用的工具類——MetaObject 186
8.5 插件開發過程和實例 187
8.6 總結 205
第3部分 Spring基礎
第9章 Spring IoC的概念 208
9.1 Spring的概述 208
9.2 Spring IoC概述 210
9.3 Spring IoC容器 215
9.4 小結 223
第10章 裝配Spring Bean 224
10.1 依賴注入的3種方式 224
10.2 裝配Bean概述 227
10.3 通過XML配置裝配Bean 228
10.4 通過注解裝配Bean 235
10.5 裝配的混閤使用 246
10.6 使用Profile 249
10.7 加載屬性(properties)文件 254
10.8 條件化裝配Bean 258
10.9 Bean的作用域 259
10.10 使用Spring錶達式(Spring EL) 261
第11章 麵嚮切麵編程 267
11.1 一個簡單的約定遊戲 267
11.2 Spring AOP的基本概念 274
11.3 使用@AspectJ注解開發Spring AOP 280
11.4 使用XML配置開發Spring AOP 293
11.5 經典Spring AOP應用程序 299
11.6 多個切麵 301
11.7 小結 306
第12章 Spring和數據庫編程 307
12.1 傳統的JDBC代碼的弊端 307
12.2 配置數據庫資源 309
12.3 JDBC代碼失控的解決方案——jdbcTemplate 311
12.4 MyBatis-Spring項目 317
第13章 深入Spring數據庫事務管理 330
13.1 Spring數據庫事務管理器的設計 331
13.2 編程式事務 336
13.3 聲明式事務 337
13.4 數據庫的相關知識 343
13.5 選擇隔離級彆和傳播行為 347
13.6 在Spring+MyBatis組閤中使用事務 350
13.7 @Transactional的自調用失效問題 358
13.8 典型錯誤用法的剖析 363
第4部分 Spring MVC框架
第14章 Spring MVC的初始化和流程 370
14.1 MVC設計概述 370
14.2 Spring MVC初始化 378
14.3 Spring MVC開發流程詳解 389
第15章 深入Spring MVC組件開發 399
15.1 控製器接收各類請求參數 399
15.2 重定嚮 409
15.3 保存並獲取屬性參數 412
15.4 攔截器 417
15.5 驗證錶單 424
15.6 數據模型 432
15.7 視圖和視圖解析器 434
15.8 上傳文件 441
第16章 Spring MVC高級應用 449
16.1 Spring MVC的數據轉換和格式化 449
16.2 為控製器添加通知 466
16.3 處理異常 470
16.4 國際化 471
第5部分 Redis應用
第17章 Redis概述 480
17.1 Redis在Java Web中的應用 481
17.2 Redis基本安裝和使用 483
17.3 Redis的Java API 486
17.4 簡介Redis的6種數據類型 494
17.5 Redis和數據庫的異同 495
第18章 Redis數據結構常用命令 496
18.1 Redis數據結構——字符串 497
18.2 Redis數據結構——哈希 502
18.3 Redis數據結構——鏈錶(linked-list) 506
18.4 Redis數據結構——集閤 513
18.5 Redis數據結構——有序集閤 516
18.6 基數——HyperLogLog 522
第19章 Redis的一些常用技術 525
19.1 Redis的基礎事務 526
19.2 探索Redis事務迴滾 528
19.3 使用watch命令監控事務 529
19.4 流水綫(pipelined) 532
19.5 發布訂閱 534
19.6 超時命令 538
19.7 使用Lua語言 540
19.8 小結 547
第20章 Redis配置 548
20.1 Redis基礎配置文件 548
20.2 Redis備份(持久化) 549
20.3 Redis內存迴收策略 552
20.4 復製 553
20.5 哨兵(Sentinel)模式 556
第21章 Spring緩存機製和Redis的結閤 565
21.1 Redis和數據庫的結閤 565
21.2 使用Spring緩存機製整閤Redis 568
21.3 RedisTemplate的實例 582
第6部分 SSM框架+Redis實踐應用
第22章 高並發業務 586
22.1 互聯係統應用架構基礎分析 586
22.2 高並發係統的分析和設計 588
22.3 搭建搶紅包開發環境和超發現象 595
22.4 悲觀鎖 611
22.5 樂觀鎖 614
22.6 使用Redis實現搶紅包 621
22.7 各類方式的優缺點 631
附錄A 數據庫錶模型 633
附錄B DispatcherServlet流程源碼分析 637
附錄C JSTL常用標簽 648
附錄D spring data redis項目分析 660
隨著移動互聯網的興起以及手機和平闆電腦的普及,Java開發方嚮發生瞭很大變化,漸漸從管理係統走嚮瞭互聯網係統。互聯網係統的要求是大數據、高並發、高響應,而非管理係統的少數據、低並發和緩慢響應。為順應技術發展趨勢,2016年春季筆者寫瞭一本關於MyBatis的著作《深入淺齣MyBatis技術原理與實戰》,作為國內第一本關於MyBatis技術的著作,該書受到瞭業內的廣泛肯定。與此同時,電子工業齣版社編輯汪達文給瞭我一個很好的建議,她建議寫一本Java閤集,這更貼近開發工作的實際需求。在移動互聯網興起的時代,Spring+Spring MVC+MyBatis(SSM)的Java組閤已經成為時代的主流,伴隨著NoSQL(緩存)的廣泛應用,Redis成瞭主要的NoSQL工具,這些都是當今移動互聯網最為流行的技術,於是筆者打算竭盡所能寫一本SSM+Redis的閤集,這就是本書創作的緣起。
移動互聯網的新要求
高並發:舉個例子,大公司企業ERP應用,有1萬名員工使用,同時在綫的用戶可能隻有數百人,而操作一個業務的同一個數據的可能隻有幾個人,其係統一般不會存在高並發的壓力,使用傳統程序和數據庫完全可以應付。在互聯網中一件熱門的商品,比如新版小米手機,可能剛一上市就有成韆上萬的請求到達服務器,要求瞬間執行數以萬計的數據操作,對性能要求高,操作不當容易造成網站癱瘓,引發網站的生存危機。
高響應:企業管理係統可以緩慢處理一些業務,而在高並發的互聯網係統中,卻不可以,按照互聯網的要求一般以5秒為上限,超過5秒後響應,用戶體驗不好,從而影響用戶忠誠度,而這些往往需要在高並發和大數據量的場景下實現。
數據一緻性:由於高並發,多個綫程對同一數據同時訪問,需要保證數據的一緻性,比如電商網站的金額、商品庫存不能齣錯,還要保證其性能不能太差,這是在管理係統中不會齣現的場景。
技術復雜化:在互聯網中流行許多新技術,比如常見的NoSQL(Redis、MongoDB),又如MQ、RPC框架、ZooKeeper、大數據、分布式等技術。
為什麼選擇SSM框架+Redis的開發模式
首先,Struts2框架和Spring結閤,多年來改變不瞭臃腫的老毛病,更為嚴重的是近年來多次齣現的漏洞問題,使得其名聲和使用率大降。這個時候Spring MVC框架成瞭新一代MVC框架的主流。它原生於Spring框架,可以無縫對接Spring的核心技術。與Struts不同,它的流程模塊化,沒有那麼多臃腫的類,所以互聯網應用的框架大部分使用的是Spring MVC。
其次,目前企業的Java應用中,Spring框架是必須的,Spring的核心是IoC(控製反轉),它是一個大容器,方便組裝和管理各類係統內外部資源,同時支持AOP(麵嚮切麵編程),這是對麵嚮對象的補充,目前廣泛用於日誌和數據庫事務控製,減少瞭大量的重復代碼,使得程序更為清晰。因為Spring可以使模塊解耦,控製對象之間的協作,所以Spring框架是目前Java最為流行的框架,幾乎沒有之一。
最後,對於Hibernate而言,筆者感慨最多,在需要存儲過程或者復雜SQL時,它的映射關係幾乎完全用不上,所有的問題都需要自己敲代碼處理。作為全映射的框架,它的緻命缺點是沒有辦法完全掌控數據庫的SQL,而優化SQL是高並發、高響應係統的必然要求,這是互聯網係統的普遍特性,所以Hibernate在互聯網係統中被排除瞭。而另一個持久層框架MyBatis,它需要編寫SQL、提供映射規則,不過它加入瞭動態SQL、自動映射、接口編程等功能使得它簡單易用,同時支持SQL優化、動態綁定,並滿足高並發和高響應的要求,所以它成為最流行的Java互聯網持久框架。
NoSQL的成功在於,首先它是基於內存的,也就是數據放在內存中,而不是像數據庫那樣把數據放在磁盤上,而內存的讀取速度是磁盤讀取速度的幾十倍到上百倍,所以NoSQL工具的速度遠比數據庫讀取速度要快得多,滿足瞭高響應的要求。即使NoSQL將
Java EE互聯網輕量級框架整閤開發 SSM框架(Spring MVC+Spring+MyBatis)和Redis實現 下載 mobi epub pdf txt 電子書 格式
Java EE互聯網輕量級框架整閤開發 SSM框架(Spring MVC+Spring+MyBatis)和Redis實現 下載 mobi pdf epub txt 電子書 格式 2024
Java EE互聯網輕量級框架整閤開發 SSM框架(Spring MVC+Spring+MyBatis)和Redis實現 下載 mobi epub pdf 電子書還沒看,先評價吧反正外觀沒損壞,速度挺快
評分挺好的,比較全麵,不錯,適閤初學者
評分600多頁,挺厚的,不錯的一本書
評分做活動買瞭很多書,質量不錯都是正版,物流也挺快的,詳細內容等閱讀後再細細評價
評分不錯,是正品,這本書很早就想買瞭1正好618摺扣
評分很好的書要慢慢啃瞭
評分多快好省,京豆又來,棒棒噠!
評分Java 從業者必看圖書係列,我輩加油。
評分很好用的産品,經常購買,還推薦給傢人朋友一起分享瞭。最關鍵京東送貨上門
Java EE互聯網輕量級框架整閤開發 SSM框架(Spring MVC+Spring+MyBatis)和Redis實現 mobi epub pdf txt 電子書 格式下載 2024