>
科技 >
計(jì)算機(jī)與網(wǎng)絡(luò) >
程序語言與軟件開發(fā) >
Spring+Spring MVC+MyBatis框架技術(shù)精講與整合案例 內(nèi)容簡介
本書全面地講解了使用最新流行輕量級(jí)框架SSM進(jìn)行Java EE Web開發(fā)的技術(shù),重點(diǎn)介紹了Eclipse開發(fā)平臺(tái)、Spring框架、Spring MVC和MyBatis框架等基礎(chǔ)知識(shí),并用三個(gè)SSM框架整合案例演示框架應(yīng)用技巧和連接技術(shù),內(nèi)容由淺入深,引人入勝。
本書共分21章,各基礎(chǔ)章節(jié)在知識(shí)點(diǎn)講解中,均結(jié)合了小案例的精講,以幫助讀者更好地理解和掌握。綜合實(shí)例部分涉及三個(gè)SSM整合案例,均按功能分類,采用三層架構(gòu)(數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和視圖層)進(jìn)行精講,各層之間分層清晰,層與層之間耦合方法簡單,讀者可以全面理解實(shí)現(xiàn)過程,同時(shí)三個(gè)案例分別使用了三個(gè)流行前端UI:Easy UI、Bootstrap和Vue,可以進(jìn)一步拓展讀者的知識(shí)面。為方便讀者學(xué)習(xí)和教學(xué)開展,本書提供了全程真實(shí)課程錄像。
本書不僅適合初學(xué)者按部就班地學(xué)習(xí),也適合網(wǎng)絡(luò)開發(fā)人員作為技術(shù)參考,同時(shí),也可作為高等院校計(jì)算機(jī)相關(guān)專業(yè)學(xué)生的課堂教材。
前 言
SSM框架是繼SSH之后,目前比較主流的Java EE企業(yè)級(jí)框架,適用于搭建各種大型的企業(yè)級(jí)應(yīng)用系統(tǒng)。 SSM框架,是Spring + Spring MVC + MyBatis的縮寫,Spring通過依賴注入來管理各層的組件,使用面向方面編程AOP管理事務(wù)、日志、權(quán)限等。Spring MVC代表了Model(模型)、View(視圖)、Controller(控制),接收外部請(qǐng)求,進(jìn)行分發(fā)和處理。MyBatis基于JDBC的框架,主要用來操作數(shù)據(jù)庫,并將業(yè)務(wù)實(shí)體和數(shù)據(jù)表聯(lián)系起來。
1. 本書內(nèi)容結(jié)構(gòu)
本書全面介紹了Eclipse開發(fā)平臺(tái)、Spring框架、Spring MVC框架和MyBatis框架等基礎(chǔ)知識(shí),最后通過三個(gè)具體實(shí)例詳細(xì)講解了SSM框架的整合和運(yùn)用。全書共分21章,具體內(nèi)容如下。
第1章 搭建Java Web開發(fā)環(huán)境,主要介紹Java開發(fā)包(Java Development Kit)、應(yīng)用服務(wù)器Tomcat、MySQL數(shù)據(jù)庫和集成開發(fā)環(huán)境Eclipse。
第2章 Spring的基本應(yīng)用,主要介紹Spring框架入門的一些基礎(chǔ)知識(shí),重點(diǎn)講解Spring的核心機(jī)制:依賴注入/控制反轉(zhuǎn)。
第3章 Spring Bean的裝配模式,主要介紹Bean工廠ApplicationContext、Bean的配置、Bean的作用域和Bean的裝配方式。
第4章 Spring AOP(面向方面編程),主要介紹Spring AOP的相關(guān)概念,并以日志通知為例先后講解基于XML配置文件的AOP實(shí)現(xiàn)和基于@AspectJ注解的AOP實(shí)現(xiàn)。
第5章 Spring的數(shù)據(jù)庫編程,主要介紹Spring中的JDBC編程。
第6章 Spring MVC簡介,主要介紹Spring MVC的模式、基礎(chǔ)知識(shí)和工作流程。
第7章 Spring MVC常用注解,介紹Spring MVC的常用注解和3種請(qǐng)求映射方式,參數(shù)綁定注解和轉(zhuǎn)換JSON格式。
第8章 Spring MVC標(biāo)簽庫,介紹Spring MVC的表單標(biāo)簽和如何使用表單標(biāo)簽綁定數(shù)據(jù)。
第9章 Spring MVC類型轉(zhuǎn)換、數(shù)據(jù)格式化和數(shù)據(jù)校驗(yàn),介紹Spring MVC的數(shù)據(jù)處理。
第10章 Spring MVC的文件上傳和下載,介紹MultipartResolver接口和ResponseEntity類型。
第11章 Spring MVC的國際化和攔截器,介紹messageSource、LocaleResolver國際化語言區(qū)域解析器接口以及攔截器的配置。
第12章 MyBatis入門,介紹MyBatis框架的概念、下載與安裝和工作原理,并詳細(xì)講解MyBatis框架的基本用法。
第13章 MyBatis的關(guān)聯(lián)映射,介紹使用MyBatis框架處理三種關(guān)聯(lián)關(guān)系的具體過程。
第14章 動(dòng)態(tài)SQL,介紹MyBatis框架的動(dòng)態(tài)SQL及動(dòng)態(tài)SQL的主要元素。
第15章 MyBatis的注解配置,介紹MyBatis框架基于注解的單表增刪改查、多表關(guān)聯(lián)映射和動(dòng)態(tài)SQL等。
第16章 MyBatis緩存,介紹MyBatis框架的緩存概念和一級(jí)緩存、二級(jí)緩存的用法。
第17章 Spring整合MyBatis,介紹SSM框架,并以登錄功能為例,采用注解方式實(shí)現(xiàn)Spring與MyBatis框架的整合。
第18章 前端UI框架,介紹jQuery Easy UI、Bootstrap和Vue三種前端框架。
第19章 電商平臺(tái)后臺(tái)管理系統(tǒng),結(jié)合前端Easy UI框架,詳細(xì)講解典型的電商平臺(tái)后臺(tái)管理系統(tǒng)的具體實(shí)現(xiàn)過程。
第20章 校園通訊管理系統(tǒng),結(jié)合前端Bootstrap的H+框架,詳細(xì)講解校園通訊管理系統(tǒng)的具體實(shí)現(xiàn)過程。
第21章 電商網(wǎng)站,結(jié)合前端Vue框架,詳細(xì)講解簡單的電商網(wǎng)站的具體實(shí)現(xiàn)過程。
2.本書的特點(diǎn)和優(yōu)勢
本書作者在Java EE Web領(lǐng)域具有多年的開發(fā)和教學(xué)講解經(jīng)驗(yàn),熟悉Java開發(fā)理論知識(shí)體系,憑著嫻熟的筆法和淵博的理論知識(shí),采取精雕細(xì)琢的寫作方式,將SSM開發(fā)技術(shù)展現(xiàn)得淋漓盡致,能使讀者很快進(jìn)入實(shí)際開發(fā)角色。本書與市場上其他類似書籍相比,具有以下與眾不同的特色。
(1) 細(xì)致全面:本書內(nèi)容的編排從開發(fā)環(huán)境搭建開始,從基本知識(shí)入手,由淺入深地逐漸轉(zhuǎn)入到高級(jí)部分,所講解的內(nèi)容囊括了SSM框架的重要知識(shí)點(diǎn)。注重介紹如何在實(shí)際工作中活用基礎(chǔ)知識(shí),做到高質(zhì)量地進(jìn)行程序開發(fā)。
(2) 結(jié)合示例:本書在各章知識(shí)點(diǎn)的講解中,都結(jié)合了小示例的精講加以驗(yàn)證。對(duì)特別難懂的知識(shí)點(diǎn),通過恰當(dāng)?shù)氖纠龓椭x者進(jìn)行分析、加以理解。
(3) 講解透徹:本書在項(xiàng)目案例講解的過程中,均按功能分類,采用三層架構(gòu)(模型、視圖、控制)進(jìn)行相關(guān)組件的講解,各層之間分層清晰,層與層之間以松耦合的方法組織在一起,便于讀者理解每個(gè)功能的實(shí)現(xiàn)過程。
(4) 實(shí)用性強(qiáng):本書的實(shí)用性較強(qiáng),以經(jīng)驗(yàn)為后盾、以實(shí)踐為導(dǎo)向、以實(shí)用為目標(biāo),深入淺出地講解Java Web開發(fā)中的各種問題。
(5) 課堂實(shí)錄:采用知識(shí)講解+課堂實(shí)錄的方式,提供一套全過程課程錄像,更利于讀者跟進(jìn)學(xué)習(xí),既可以直接用于學(xué)校教學(xué),又方便讀者自學(xué),是很多初學(xué)者和教學(xué)老師的選擇。
3. 本書讀者對(duì)象
有一定Java基礎(chǔ),但是沒有Java EE系統(tǒng)開發(fā)經(jīng)驗(yàn)的初學(xué)者。
有其他Web編程語言(如ASP、ASP.NET)開發(fā)經(jīng)驗(yàn),欲快速轉(zhuǎn)向Java EE開發(fā)的程序員。
對(duì)JSP有一定了解,但是缺乏Java EE框架開發(fā)經(jīng)驗(yàn),并希望了解流行開源框架Spring、Spring MVC和MyBatis以及欲對(duì)這些框架進(jìn)行整合的程序員。
有一定Java Web框架開發(fā)基礎(chǔ),需要對(duì)Java EE主流框架技術(shù)核心進(jìn)一步了解和掌握的程序員。
大中專院校正在學(xué)習(xí)編程開發(fā)的計(jì)算機(jī)及相關(guān)專業(yè)的學(xué)生。
公司管理人員或人力資源管理人員。
4.本書配套資源
本書附贈(zèng)完整的學(xué)習(xí)資源,包括同步教學(xué)錄像、教學(xué)PPT、源代碼、素材文件等內(nèi)容,可供學(xué)習(xí)者使用,請(qǐng)從清華大學(xué)出版社官網(wǎng)(http://www.tup.tsinghua.edu.cn)下載。
5. 本書作者及致謝
本書由揚(yáng)州職業(yè)大學(xué)的繆勇和施俊編寫。其中,施俊編寫第1~11章,主要內(nèi)容是開發(fā)環(huán)境搭建和Spring、Spring MVC基礎(chǔ)知識(shí);繆勇編寫第12~21章,主要內(nèi)容是MyBatis基礎(chǔ)知識(shí)和三個(gè)整合案例。李新鋒對(duì)全書進(jìn)行了審核和統(tǒng)籌,其他參與編寫的人員還有王梅、陳亞輝、李艷會(huì)、劉嬌、王晶晶、游名揚(yáng)、李云霞、王永慶、蔣梅芳、謝偉、紀(jì)航、沈勇等,同時(shí)揚(yáng)州國脈通信發(fā)展有限責(zé)任公司、江蘇智途科技股份有限公司也為本書的編寫提供了幫助,在此一一向他們致謝。
由于作者水平有限,書中難免存在一些不足和疏漏之處,敬請(qǐng)讀者批評(píng)指正。
目 錄
第1章 搭建Java Web開發(fā)環(huán)境 11.1 建立JDK的環(huán)境 11.1.1 下載與安裝JDK 11.1.2 配置JDK環(huán)境變量 31.1.3 驗(yàn)證JDK是否配置 41.2 建立Tomcat的環(huán)境 41.2.1 下載與安裝Tomcat 51.2.2 配置Tomcat環(huán)境變量 51.2.3 啟動(dòng)與停止Tomcat 61.2.4 Tomcat的目錄結(jié)構(gòu) 61.3 創(chuàng)建MySQL數(shù)據(jù)庫環(huán)境 71.3.1 MySQL概述 71.3.2 下載MySQL 81.3.3 安裝與配置MySQL 101.3.4 使用MySQL數(shù)據(jù)庫 121.4 搭建Java Web開發(fā)環(huán)境 141.4.1 下載與安裝Eclipse 141.4.2 在Eclipse中配置JDK 141.4.3 在Eclipse中配置Tomcat 151.5 創(chuàng)建和發(fā)布Java Web工程 161.5.1 創(chuàng)建Web項(xiàng)目、設(shè)計(jì)項(xiàng)目目錄結(jié)構(gòu) 161.5.2 編寫頁面代碼,部署和運(yùn)行Web項(xiàng)目 181.6 小結(jié) 19第2章 Spring的基本應(yīng)用 202.1 Spring概述 202.1.1 Spring的概念 202.1.2 Spring的優(yōu)點(diǎn) 212.1.3 Spring的體系結(jié)構(gòu) 212.1.4 Spring的下載 232.2 搭建Spring的入門程序 242.3 Spring的核心機(jī)制:依賴注入/控制反轉(zhuǎn) 262.3.1 依賴注入的概念 262.3.2 依賴注入的類型 272.3.3 依賴注入的示例 292.4 小結(jié) 32第3章 Spring Bean的裝配模式 333.1 Spring IoC容器 333.1.1 Bean工廠BeanFactory 333.1.2 Bean工廠ApplicationContext 343.2 Bean的配置 353.3 Bean的作用域 373.4 Bean的裝配方式 383.4.1 基于XML的Bean裝配 383.4.2 基于Annotation的Bean裝配 393.4.3 自動(dòng)裝配 413.5 小結(jié) 42第4章 Spring AOP(面向方面編程) 434.1 AOP概述 434.1.1 認(rèn)識(shí)AOP 434.1.2 AOP術(shù)語 454.2 基于XML配置文件的AOP實(shí)現(xiàn) 464.2.1 前置通知 464.2.2 返回通知 494.2.3 異常通知 504.2.4 環(huán)繞通知 514.3 基于@AspectJ注解的AOP實(shí)現(xiàn) 524.4 小結(jié) 56第5章 Spring的數(shù)據(jù)庫編程 575.1 Spring JDBC 575.1.1 Spring JdbcTemplate類 575.1.2 Spring JDBC的配置 585.2 JdbcTemplate的常用方法 595.2.1 execute()方法 595.2.2 update()方法 615.2.3 query()方法 675.3 小結(jié) 70第6章 Spring MVC簡介 716.1 MVC模式概述 716.1.1 Model I和Model II 716.1.2 MVC模式及其優(yōu)勢 726.2 Spring MVC概述 736.3 Spring MVC環(huán)境搭建 746.4 Spring MVC請(qǐng)求流程 786.5 小結(jié) 79第7章 Spring MVC常用注解 807.1 基于注解的控制器 807.1.1 @Controller注解 807.1.2 @RequestMapping注解 837.2 請(qǐng)求映射方式 847.2.1 根據(jù)請(qǐng)求方式進(jìn)行映射 847.2.2 Ant風(fēng)格的URL路徑映射 857.2.3 REST風(fēng)格的URL路徑映射 867.3 綁定控制器類處理方法入?yún)?span id="epizqqp1gsyu" class="Apple-tab-span" style="white-space:pre"> 887.4 控制器類處理方法的返回值類型 927.5 保存模型屬性到HttpSession 927.6 在控制器類的處理方法執(zhí)行前執(zhí)行指定的方法 937.7 直接頁面轉(zhuǎn)發(fā)、自定義視圖與頁面重定向 947.8 Spring MVC返回JSON數(shù)據(jù) 967.9 小結(jié) 100第8章 Spring MVC標(biāo)簽庫 1018.1 Spring MVC表單標(biāo)簽庫概述 1018.2 Spring MVC表單標(biāo)簽庫 1028.2.1 form標(biāo)簽 1028.2.2 input標(biāo)簽 1038.2.3 password標(biāo)簽 1058.2.4 hidden標(biāo)簽 1058.2.5 textarea標(biāo)簽 1058.2.6 checkbox標(biāo)簽 1068.2.7 radiobutton標(biāo)簽 1078.2.8 select標(biāo)簽 1088.2.9 option標(biāo)簽 1098.2.10 options標(biāo)簽 1098.2.11 errors標(biāo)簽 1138.3 小結(jié) 114第9章 Spring MVC類型轉(zhuǎn)換、數(shù)據(jù) 格式化和數(shù)據(jù)校驗(yàn) 1159.1 數(shù)據(jù)綁定簡介 1159.2 數(shù)據(jù)類型轉(zhuǎn)換 1169.2.1 使用ConversionService進(jìn)行類型轉(zhuǎn)換 1169.2.2 使用@InitBinder注解進(jìn)行類型轉(zhuǎn)換 1209.3 數(shù)據(jù)格式化 1219.4 數(shù)據(jù)校驗(yàn) 1219.5 小結(jié) 124第10章 Spring MVC文件上傳和下載 12510.1 文件上傳 12510.1.1 單文件上傳 12610.1.2 多文件上傳 12810.2 文件下載 13010.3 小結(jié) 132第11章 Spring MVC的國際化和攔截器 13311.1 Spring MVC國際化 13311.1.1 Spring MVC國際化概述 13311.1.2 基于瀏覽器請(qǐng)求的國際化實(shí)現(xiàn) 13511.1.3 基于HttpSession的國際化實(shí)現(xiàn) 13911.1.4 基于Cookie的國際化實(shí)現(xiàn) 14111.2 Spring MVC攔截器 14311.2.1 攔截器概述 14311.2.2 攔截器執(zhí)行流程 14611.2.3 使用攔截器實(shí)現(xiàn)用戶登錄權(quán)限驗(yàn)證 14911.3 小結(jié) 153第12章 MyBatis入門 15412.1 MyBatis概述 15412.2 MyBatis的下載與安裝 15512.3 MyBatis的工作原理 15512.4 MyBatis的增刪改查 15712.4.1 查詢用戶 15712.4.2 添加用戶 16212.4.3 修改用戶 16312.4.4 刪除用戶 16412.5 使用resultMap屬性映射查詢結(jié)果 16512.6 使用Mapper接口執(zhí)行SQL 16612.7 小結(jié) 167第13章 MyBatis的關(guān)聯(lián)映射 16813.1 一對(duì)一關(guān)聯(lián)映射 16813.2 一對(duì)多關(guān)聯(lián)映射 17213.3 多對(duì)多關(guān)聯(lián)映射 18013.4 小結(jié) 183第14章 動(dòng)態(tài)SQL 18414.1 <if>元素 18414.2 <where>、<if>元素 18614.3 <set>、<if>元素 18714.4 <trim>元素 18914.5 <choose>、<when>和<otherwise>元素 19114.6 <foreach>元素 19314.7 小結(jié) 195第15章 MyBatis的注解配置 19615.1 基于注解的單表增刪改查 19615.2 基于注解的一對(duì)一關(guān)聯(lián)映射 19915.3 基于注解的一對(duì)多關(guān)聯(lián)映射 20115.4 基于注解的多對(duì)多關(guān)聯(lián)映射 20415.5 基于注解的動(dòng)態(tài)SQL 20615.5.1 @SelectProvider注解 20615.5.2 @InsertProvider注解 20815.5.3 @UpdateProvider注解 20915.5.4 @DeleteProvider注解 21115.6 小結(jié) 212第16章 MyBatis緩存 21316.1 一級(jí)緩存 21316.2 二級(jí)緩存 21516.3 小結(jié) 216第17章 Spring整合MyBatis 21717.1 環(huán)境搭建 21717.2 編寫SSM整合的相關(guān)配置文件 22217.3 創(chuàng)建實(shí)體類 22717.4 數(shù)據(jù)訪問層開發(fā) 22717.5 業(yè)務(wù)邏輯層開發(fā) 22817.6 控制器開發(fā) 22817.7 表示層開發(fā) 22917.8 小結(jié) 230第18章 前端UI框架 23118.1 Easy UI框架 23118.1.1 Layout控件 23218.1.2 Tabs控件 23318.1.3 Tree控件 23418.1.4 DataGrid控件 23518.2 Bootstrap框架 23618.2.1 Bootstrap簡介 23618.2.2 環(huán)境安裝 23718.2.3 Bootstrap按鈕 23718.2.4 Bootstrap表格 23918.2.5 Bootstrap網(wǎng)格系統(tǒng) 24018.2.6 Bootstrap下拉菜單 24218.2.7 Bootstrap面板 24318.2.8 Bootstrap模態(tài)框 24518.2.9 Bootstrap標(biāo)簽頁 24718.3 Vue框架 24818.3.1 Vue簡介 24818.3.2 第一個(gè)Vue應(yīng)用 24918.3.3 生命周期 25018.3.4 模板語法 25118.3.5 計(jì)算屬性 25618.3.6 條件渲染 25618.3.7 列表渲染 25718.3.8 方法和事件 25918.3.9 Vue組件 26018.3.10 Vue腳手架 26218.3.11 Vue路由 26418.3.12 Vuex狀態(tài)管理 26618.4 小結(jié) 269第19章 電商平臺(tái)后臺(tái)管理系統(tǒng) 27019.1 需求與系統(tǒng)分析 27019.2 數(shù)據(jù)庫設(shè)計(jì) 27119.3 環(huán)境搭建與配置文件 27419.4 創(chuàng)建實(shí)體類 27419.5 創(chuàng)建幾個(gè)Dao接口及動(dòng)態(tài)提供類 27819.6 創(chuàng)建Service接口及實(shí)現(xiàn)類 28719.7 后臺(tái)登錄與管理首頁面 29319.8 商品管理 30119.8.1 商品列表顯示 30119.8.2 查詢商品 30619.8.3 添加商品 30819.8.4 商品下架 31119.8.5 修改商品 31319.9 訂單管理 31419.9.1 創(chuàng)建訂單 31419.9.2 查詢訂單 32419.9.3 刪除訂單 32819.9.4 查看訂單明細(xì) 33019.10 客戶管理 33319.10.1 客戶列表顯示 33319.10.2 查詢客戶 33619.10.3 啟用和禁用客戶 33719.11 小結(jié) 339第20章 校園通訊管理系統(tǒng) 34020.1 需求與系統(tǒng)分析 34020.2 數(shù)據(jù)庫設(shè)計(jì) 34220.3 環(huán)境搭建與配置文件 34520.4 創(chuàng)建實(shí)體類 34620.5 后臺(tái)登錄 34920.6 平臺(tái)管理員功能 35920.6.1 院校管理員管理 35920.6.2 院校管理 38220.7 院校管理員功能 39820.7.1 單位管理 39920.7.2 角色管理 41020.7.3 用戶管理 42020.8 單位用戶功能 43520.8.1 發(fā)送消息 43520.8.2 接收消息 45020.9 小結(jié) 457第21章 電商網(wǎng)站 45821.1 需求與系統(tǒng)分析 45821.2 數(shù)據(jù)庫設(shè)計(jì) 45821.3 環(huán)境搭建與配置文件 45921.4 創(chuàng)建實(shí)體類 46121.5 創(chuàng)建幾個(gè)Dao接口 46221.6 創(chuàng)建Service接口及實(shí)現(xiàn)類 46321.7 商品列表頁 46521.8 商品詳情頁 47321.9 購物車頁 47521.10 訂單提交 48021.11 小結(jié) 482