Java Web快速開發(fā)教程(慕課版)—— Spring Boot+MyBatis實戰(zhàn)
定 價:39 元
- 作者:師敏華
- 出版時間:2020/11/1
- ISBN:9787560657974
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP312.8
- 頁碼:256
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書主要介紹Java語言及其Web開發(fā)。全書共14章,前12章講述了Java基礎(chǔ)知識及部分常用的高級知識。第13章詳細講解了當前主流的數(shù)據(jù)庫訪問框架MyBatis。第14章講述了Spring Boot開發(fā)框架,并且通過完整的示例程序講述了如何應(yīng)用Spring Boot開發(fā)Web應(yīng)用。
本書可作為高等學(xué)校計算機、軟件及相關(guān)專業(yè)本科高年級學(xué)生的教材或研究生的參考書,也可供從事計算機相關(guān)工作的工程技術(shù)人員參考。
從1996年1月Sun公司發(fā)布Java的第一個開發(fā)工具包JDK 1.0 至今的二十多年時間里,除最初的幾年外,Java語言幾乎一直獨占編程語言榜首。盡管最近幾年P(guān)ython、Go等語言發(fā)展迅速,但其在未來一段時間內(nèi)仍難以撼動Java語言的地位。Java之所以有如此地位,不僅僅在于Java語言本身比較優(yōu)秀,更是因為Java語言有龐大的生態(tài)圈。換一種編程語言并非難事,但困難在于如何替代其龐大的生態(tài)圈。因此,從這個意義上來說,作為一個程序員,尤其是需要和互聯(lián)網(wǎng)以及新興的物聯(lián)網(wǎng)打交道的人來說,熟悉Java編程是一條必由之路。
Java語言本身的學(xué)習難度并不是太大,因為Java語言建立在C++?的基礎(chǔ)之上,它在語法等方面和C++?很相似。如果有C/C++?基礎(chǔ)的話,可以很快掌握Java語言。盡管掌握Java語言本身相對比較容易,但是要將其用起來并不是一件很容易的事情,其原因之一就是Java的生態(tài)圈太大,對于同一個問題有多種框架或者解決方案可供選擇,這么多框架如何選擇,如何學(xué)習,是擺在每一個Java編程人員面前的難題。
本書前12章講述了Java基礎(chǔ)知識和常用的高級知識。對于Java語言中的SWING沒有進行講解。盡管SWING是一種不錯的GUI編程工具包,但如果想用SWING實現(xiàn)非常漂亮和炫目的界面有一定的難度。另外,本書對于一些相對過時的技術(shù),比如Applet、WebStart等也未作講述。還有一些常用但較為瑣碎的技術(shù)也未作講解,比如安全、簽名、國際化等。關(guān)于這些方面的知識,讀者在學(xué)習完本書之后可以參考相關(guān)資料。
第13章講解了數(shù)據(jù)庫訪問的主流框架MyBatis。通過本章的學(xué)習,讀者可以掌握MyBatis的核心用法,能夠輕易將MyBatis融入自己的Java項目中。
第14章通過一個簡單的Colyba職員信息系統(tǒng)示例,講解了如何創(chuàng)建和開發(fā)一個完整的Spring Boot項目。
本書由師敏華、沈玉龍、張志為合作編寫。許王哲、崔志浩、景玉、劉家繼、溫嘉偉、黃藝萌、常佳俊、王強、張一凡等學(xué)生參與了本書配套慕課資源的完成與在線練習系統(tǒng)的建設(shè)等相關(guān)工作。本書的出版得到了教育部產(chǎn)學(xué)合作協(xié)同育人項目(201901113011、201901156033)的支持。
限于作者水平,書中難免會有欠妥之處,懇請讀者批評指正。
第1章 ?Java發(fā)展史與項目構(gòu)建 1
1.1 ?Java版本發(fā)展 1
1.1.1 ?Java版本演進 1
1.1.2 ?EJB 2
1.1.3 ?JDK與JRE 2
1.1.4 ?JVM 2
1.1.5 ?JavaScript 3
1.2 集成開發(fā)環(huán)境 3
1.2.1 ?IDE的優(yōu)勢 3
1.2.2 ?STS安裝 4
1.2.3 ?HelloWorld 5
1.2.4 ?Eclipse常用操作 9
1.3 ?Java程序編譯與運行 9
1.3.1 包 10
1.3.2 ?Java程序的發(fā)布形式 10
1.3.3 ?Java的main方法 11
1.3.4 ?Java程序的運行 11
1.3.5 運行參數(shù) 11
1.3.6 ?JVM內(nèi)存回收機制 13
1.3.7 ?Java程序分析調(diào)測工具 14
1.4 ?Maven 17
1.4.1 ?Maven的配置文件 17
1.4.2 ?pom.xml 18
1.4.3 ?Maven執(zhí)行 27
1.5 持續(xù)集成 27
第2章 ?Java基本程序結(jié)構(gòu) 29
2.1 數(shù)據(jù)類型 29
2.1.1 基本數(shù)據(jù)類型 29
2.1.2 ?String 30
2.1.3 運算符 32
2.1.4 數(shù)組 32
2.1.5 常量 33
2.2 控制流程 33
2.2.1 塊作用域 33
2.2.2 條件語句 34
2.2.3 循環(huán)語句 35
2.2.4 ?switch 36
2.2.5 中斷語句 36
2.2.6 ?try塊 37
第3章 類 38
3.1 類的定義 38
3.2 控制可見范圍的修飾符 38
3.3 構(gòu)造器 39
3.4 ?this 41
3.5 ?final 43
3.6 ?static 43
3.7 參數(shù)傳遞 45
3.8 參數(shù)數(shù)量可變的參數(shù)傳遞 46
第4章 繼承與接口 48
4.1 繼承 48
4.1.1 多態(tài) 48
4.1.2 抽象類 50
4.1.3 Object 51
4.2 接口 53
4.2.1 定義 54
4.2.2 接口增強 55
4.2.3 ?clone 56
第5章 內(nèi)部類與枚舉 59
5.1 內(nèi)部類 59
5.1.1 普通內(nèi)部類 59
5.1.2 靜態(tài)內(nèi)部類 60
5.1.3 局部內(nèi)部類 60
5.1.4 匿名內(nèi)部類 60
5.1.5 內(nèi)部類的特性 63
5.2 ?lambda表達式 63
5.2.1 ?lambda表達式的作用域 64
5.2.2 函數(shù)式接口 64
5.2.3 ?forEach和方法引用:: 65
5.3 枚舉 66
5.3.1 簡單枚舉的定義 66
5.3.2 帶有構(gòu)造器的枚舉 66
5.3.3 綁定方法的枚舉 67
5.3.4 枚舉的values和toString 68
第6章 泛型 69
6.1 固定類型 69
6.2 通配符類型 72
6.2.1 ?< ? extends T> 和< ? super T >
的區(qū)別 74
6.2.2 無限定通配類型 77
第7章 集合 78
7.1 集合接口概述 78
7.2 列表、集 78
7.3 映射表 79
7.4 集合運算操作 79
7.5 屬性映射表 81
7.6 應(yīng)用實例 82
第8章 異常處理與多線程 89
8.1 異常的拋出與捕獲 89
8.1.1 異常的分類 89
8.1.2 異常的拋出 89
8.1.3 自定義異常 90
8.1.4 異常的捕獲 90
8.1.5 異常的包裝 91
8.2 線程創(chuàng)建 92
8.3 線程池 93
8.3.1 ?ThreadPoolExecutor 93
8.3.2 ?Executors 97
8.4 ?Callable與Future 97
8.5 線程的同步 100
第9章 本地IO與遠程通信 101
9.1 輸入與輸出流 101
9.1.1 ?InputStream和OutputStream 101
9.1.2 ?FileInputStream和
?FileOutputStream 102
9.1.3 ?Reader和Writer 102
9.1.4 ?RandomAccessFile 103
9.2 內(nèi)存映射文件 103
9.2.1 內(nèi)存映射文件的使用 104
9.2.2 文件加鎖機制 105
9.3 文件管理 105
9.4 對象序列化 106
9.4.1 transient 106
9.4.2 對象的保存和加載 106
9.5 ?RMI 107
9.6 ?JMS 110
第10章 數(shù)據(jù)庫與數(shù)據(jù)流操作 111
10.1 ?JDBC概述 111
10.1.1 ?JDBC驅(qū)動類 111
10.1.2 連接數(shù)據(jù)庫 112
10.2 執(zhí)行SQL 112
10.3 流的概述 115
10.4 流的創(chuàng)建 116
10.4.1 集合對象產(chǎn)生流 116
10.4.2 ?Arrays產(chǎn)生流 116
10.4.3 ?Stream接口產(chǎn)生流 116
10.4.4 ?Files產(chǎn)生流 117
10.5 流的操作 117
10.5.1 ?filter、map和flatMap 117
10.5.2 ?limit、skip和concat 118
10.5.3 ?distinct、sorted和peek 118
10.6 流的約簡 119
10.6.1 簡單約簡 119
10.6.2 ?Optional 120
10.6.3 ?reduce 121
10.7 結(jié)果收集 122
第11章 注解 124
11.1 概述 124
11.2 注解的定義及使用 124
11.3 標準注解 125
11.3.1 元注解 126
11.3.2 ?PostConstruct和Resource 128
11.4 注解式編程 128
第12章 反射與代理 131
12.1 概述 131
12.2 反射 131
12.2.1 ?Class類 131
12.2.2 使用反射創(chuàng)建類對象 133
12.2.3 使用反射創(chuàng)建類對象及方法
調(diào)用 134
12.3 代理 135
第13章 ?MyBatis 140
13.1 ?MyBatis概述 140
13.1.1 ?Java數(shù)據(jù)庫編程 140
13.1.2 ?MyBatis發(fā)展歷史 140
13.1.3 下載MyBatis 141
13.1.4 ?MyBatis三要素 141
13.2 ?MyBatis全局配置文件 142
13.2.1 ?XML文件的約束 142
13.2.2 ?MyBatis全局配置文件 144
13.2.3 ?environment和mapper 144
13.2.4 ?typeAliases 147
13.2.5 ?typeHandlers 148
13.2.6 ?objectFactory 150
13.2.7 ?plugins 150
13.2.8 ?databaseIdProvider 150
13.2.9 ?settings 151
13.3 ?MyBatis映射文件 151
13.4 ?select 151
13.4.1 參數(shù)傳遞 152
13.4.2 參數(shù)引用 158
13.4.3 ?resultType 158
13.4.4 ?resultMap 160
13.4.5 分步查詢與延遲加載 166
13.5 ?insert、update和delete 169
13.5.1 更改提交 170
13.5.2 自增主鍵獲取 171
13.6 動態(tài)SQL 172
13.6.1 ?if 173
13.6.2 ?choose 175
13.6.3 ?foreach 176
13.6.4 ?bind和模糊匹配 179
13.6.5 ?_databaseId和_parameter 179
13.7 抽取可重用SQL 181
13.8 ?OGNL常用操作及轉(zhuǎn)義符 181
13.8.1 ?OGNL常用操作 181
13.8.2 轉(zhuǎn)義符 182
13.9 存儲過程 182
13.10 緩存機制 183
13.10.1 一級緩存 183
13.10.2 二級緩存 184
13.10.3 緩存的設(shè)置選項 185
13.10.4 三方緩存的整合 185
13.11 插件應(yīng)用及分頁插件
?PageHelper 185
13.11.1 插件應(yīng)用 185
13.11.2 分頁插件PageHelper 186
13.12 批量操作 187
第14章 ?Spring Boot 188
14.1 ?Spring及Spring Boot概述 188
14.1.1 ?Spring簡介 188
14.1.2 ?Spring MVC 188
14.1.3 ?DI和AOP 189
14.1.4 ?Spring Boot簡介 189
14.2 ?Http編程基礎(chǔ) 190
14.2.1 概述 190
14.2.2 ?Http請求和響應(yīng) 190
14.2.3 ?HttpServletRequest和
HttpServletResponse 191
14.3 ?Spring Boot開發(fā)模式 193
14.3.1 前后端分離 193
14.3.2 ?Spring Boot Web應(yīng)用分層 193
14.3.3 ?Spring Boot啟動類 193
14.4 ?Spring Boot注解 194
14.4.1 ?Component和ComponentScan 194
14.4.2 ?Autowired 194
14.4.3 ?SpringBootApplication 195
14.4.4 ?Service、Configuration和
Repository 195
14.4.5 控制器層相關(guān)注解 195
14.4.6 ?ConfigurationProperties和
Value 195
14.5 ?Spring Boot配置文件 197
14.5.1 概述 197
14.5.2 ?yaml文件 197
14.5.3 ?application 198
14.6 ?Spring Boot開發(fā)示例 199
14.6.1 示例項目Colyba 199
14.6.2 創(chuàng)建Colyba框架 199
14.6.3 ?Colyba項目結(jié)構(gòu) 201
14.6.4 ?Colyba資源文件 202
14.6.5 ?Colyba的Dao層 206
14.6.6 ?Colyba的Service層 207
14.6.7 ?Colyba的Controller 213
14.6.8 ?Colyba的啟動類 219
14.6.9 ?Colyba的pom 219
14.6.10 ?Colyba測試 221
14.7 ?Spring Boot數(shù)據(jù)源 224
14.7.1 多數(shù)據(jù)源配置 224
14.7.2 ?MyBatis全局配置 236
14.7.3 連接池 237
14.7.4 事務(wù) 240
14.8 ?Spring Boot的常用功能 241
14.8.1 攔截器 241
14.8.2 定時任務(wù) 242
參考文獻 246