編輯推薦
·涵蓋Java EE主流架構技術SSM+Redis,快速上手開發
·用Spring MVC整合MyBatis架構技術
·用Spring整合Redis在Java網際網路技術上的應用
·通過秒殺、搶紅包講解網際網路高并發業務

楊開振 周吉文 梁華輝 譚茂華 著 / 2017年7月出版
内容提要
随着移動網際網路的興起,以Java技術為背景的網際網路技術占據了市場的主導地位,而在Java網際網路背景開發中,SSM架構(Spring+Spring MVC+MyBatis)成為了主要架構,《Java EE網際網路輕量級架構整合開發——SSM架構(Spring MVC+Spring+MyBatis)和Redis實作》以此為焦點從入門到實際工作要求講述了SSM架構的技術應用;與此同時,為了提高系統性能,NoSQL(尤其是Redis)在網際網路系統中已經廣泛使用,為了适應這個變化,《Java EE網際網路輕量級架構整合開發——SSM架構(Spring MVC+Spring+MyBatis)和Redis實作》通過Spring講解了有關Redis的技術應用,這樣更加貼近實際學習和工作的需要。
《Java EE網際網路輕量級架構整合開發——SSM架構(Spring MVC+Spring+MyBatis)和Redis實作》主要分為6個部分,第1部分對Java網際網路的架構和主要涉及的模式做初步簡介;第2部分講述MyBatis技術;第3部分講述Spring基礎(包括IoC、AOP和資料庫應用),重點講解Spring資料庫事務應用,以滿足網際網路企業的應用要求;第4部分,講述Spring MVC架構;第5部分,通過Spring技術的應用,講解Redis技術;第6部分,講解SSM+Redis實踐應用,通過網際網路高并發如搶票、搶紅包等場景,使用全注解的方式講解SSM架構的整合,以及高并發與鎖的應用和系統性能優化。
《Java EE網際網路輕量級架構整合開發——SSM架構(Spring MVC+Spring+MyBatis)和Redis實作》結合企業的實際需求,從原理到實踐全面講解SSM+Redis技術應用,無論你是Java程式員、SSM應用和研究人員,還是Redis應用人員、網際網路開發人員,都可以從《Java EE網際網路輕量級架構整合開發——SSM架構(Spring MVC+Spring+MyBatis)和Redis實作》中收獲知識。
作者簡介
-楊開振
擁有十餘年一線Java開發工作經驗,熱衷于Java網際網路技術方向研究,目前從事Java網際網路技術線上教育,著有暢銷書《深入淺出MyBatis技術原理與實戰》。
-周吉文
進階工程師,曾獲廣東省科技進步一等獎,曾任國家“863”計劃項目軟體組組長,擔任珠海市第二人民醫院資訊部主任多年,有豐富的項目實施和管理經驗。
-梁華輝
資深Java開發專家,有豐富的企業級應用及Web項目的開發經驗。對軟體設計模式和代碼整潔方面有深入了解,對Spring、Hibernate等主流開源架構有深入研究。
-譚茂華
資深Java開發專家,擁有十餘年供應鍊管理、金融、物聯網等行業大型系統軟體開發經驗。熱衷于軟體架構、軟體研發過程控制、Java開源技術(尤其是Spring體系技術)的研究。
媒體評論
本書從基礎理論講起,菜鳥可以由此登堂入室,功力再上一層樓。結合源碼分析,深入淺出,輕松一窺底層原理,适合大俠修煉内功。書中案例非常切合網際網路應用的實際,對架構設計有很好的借鑒和參考意義。
——前華為架構師、騰訊進階工程師 代繼紅
高速資料流和高并發通路是目前網際網路應用資料處理層面臨的嚴峻挑戰。本書對網際網路時代業界流行的“SSM+Redis”的Java網際網路技術進行了詳細介紹,給需要搭建高效網際網路應用的企業或個人提供了應對挑戰的利器。本書内容由淺入深,邏輯清晰,代碼豐富,可操作性強,是一本既适合新手入門又适合高手修煉的技術寶典。
——廣西大學教授 許嘉
本書通過精要的描述、清晰的圖示和恰當的示例,由淺入深闡述目前最流行的Java EE網際網路架構技術原理和應用,是學習Java網際網路技術應用難得一見的好書。
——《Qt Quick核心程式設計》作者、訂閱号“程式視界”建立者 安曉輝
圖書試讀
前言
随着移動網際網路的興起以及手機和平闆電腦的普及,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将資料放在磁盤中,它也是一種半結構化的資料格式,讀取到解析的複雜度遠比資料庫要簡單,這是因為資料庫存儲的是經過結構化、多範式等有複雜規則的資料,還原為記憶體結構的速度較慢。NoSQL在很大程度上滿足了高并發、快速讀/寫和響應的要求,是以它也是Java網際網路系統的利器。于是兩種NoSQL的工具Redis和MongoDB流行起來,尤其是Redis已經成為了主要的NoSQL工具,本書會詳細介紹它的常用方法。
基于以上原因,Spring+Spring MVC +MyBatis已經成了Java網際網路時代的主流架構,而Redis緩存已經成了主流的NoSQL技術,筆者願意将自己所掌握的知識分享給大家,為目前奮鬥在SSM和Redis戰線上的同行們奉獻一本有價值的參考書,給一些準備進入這個行業的新手一定的幫助和指導。
積跬步以至千裡。每天讀本書,為您搜羅最具權威專業書籍,更多圖書推薦請關注每日讀書。
好知識需要分享,如您有喜歡的書籍想與廣大開發者分享,請在文章下方評論留言,我們将為大家推薦您的愛書!