Spring Boot 2+Thymeleaf企業應用實戰 ( 簡體 字) |
作者:楊恩雄 | 類別:1. -> 程式設計 -> JAVA -> Spring |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 49868 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:9/1/2018 |
頁數:316 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121349249 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:Java經過多年的發展,市面上出現的開發框架多不勝數,技術發展日新月異。程序員群體是一個求知若渴的群體,也是一個容易接受新知識的群體,為了學習新技術,多少人食不知味、夜不能寐。筆者有幸成為一名平凡的程序員,從業十余年,面對各種新技術,時常懷著一顆謙卑的心,不停前進,不斷學習。 筆者從2006年開始進行Java Web開發,使用過大部分主流的Java技術,例如EJB、Servlet、MVC框架等,在此過程中開發過多個大型項目,經歷了這些項目從無到有的過程,深知系統開發之不易。一直以來,期望能使用最簡單的方式開發出最完美的系統。近年來隨著Spring Boot的興起,Java的Web開發趨向簡單,筆者希望能將Spring Boot等技術進行推廣,從而降低Java Web開發的門檻,因此編纂本書。筆者學識淺薄,加之倉促付梓,書中錯漏定然難免,望讀者指正。 本書能得以出版,得益于多方襄助,對他們的感激之情,難以言表。感謝傳道并解惑的恩師,感謝聰穎而好學的讀者,感謝善良和親愛的家人,筆者會謝意永存、銘感不忘。
本書特點 筆者長期工作于企業的IT部門,有著豐富的企業應用開發經驗,因此本書有以下特點。
1.涵蓋多個技術框架 筆者期望本書能給讀者提供一整套的企業應用開發方案,因此本書介紹了目前最為流行的Spring Boot、Thymeleaf、Spring Data以及多個JavaScript框架。學習完本書知識后,讀者掌握的并不是一兩個技術框架,而是一整套當前非常流行的開發技術。
2.內容深入 本書以Spring Boot與Thymeleaf為核心,其中Thymeleaf是目前非常流行的模板框架,本書對該框架進行了系統講解,內容由淺入深,務求使讀者充分掌握這個模板框架。
3.案例貼近實際,視頻帶領入門 筆者長期供職于IT企業,奮斗于研發一線,因此本書的各個知識點對應的案例更加貼近實際。看得懂、學得會、做得出是筆者一貫的風格,對于初次接觸這些知識的讀者,本書提供了配套的視頻,助力你更快地掌握知識。
4.注釋詳細 簡單易懂是筆者一直以來堅持的目標,本書中的幾乎每行Java代碼均有注釋,讀者可以很容易地了解代碼的意思,輕松掌握知識。
本書寫給誰看 筆者一直以來希望能將復雜的技術簡單化,因此將本書定位成一本入門級的Java Web開發書籍,只要你有一定的Java語言基礎,就可以在本書的基礎上,學習使用Spring Boot+Thymeleaf進行Java Web應用開發。
衷心感謝 首先非常感謝李剛老師,一直以來,他既是我的老師,也是我的技術后盾,非常幸運人生能有這樣一位良師益友。 最后感謝我的家人,你們是我前進的動力。
下載本書代碼與聯系作者 本書的所有代碼、軟件,均可以到以下網盤獲取。讀者也可以掃描以下的二維碼,關注“瘋狂圖書”公眾號獲取本書資料。公眾號內除了提供本書代碼外,還提供了相關視頻供讀者下載。 如在學習過程中有技術相關的問題,可以發郵件到筆者的郵箱。 |
內容簡介:Java經過多年的發展,市面上的開發框架多不勝數,技術發展日新月異。從最開始的JSP、Servlet等技術,到后面的Struts、Spring、Hibernate,再到Spring MVC、myBatis等技術,每一次技術的更替都牽動著廣大Java程序員的心。在本書的前面部分,會講解目前市面上最為流行的Spring Boot框架,使用該框架我們可以輕松構建出各種項目,在此基礎上,介紹Spring MVC的使用,學習完這些知識后,讀者可以掌握Spring Boot、Spring MVC的核心內容。本書的第二部分,會深入講解Thymeleaf框架,這是一個較為新穎的模板引擎,使用Thymeleaf,我們可以完全拋棄JSP,并進入一種更為簡便的頁面開發模式。本書的第11章,會講解目前市面上常用的幾個JavaScript框架,像jQuery、Bootstrap以及Vue.js,學習完這些知識后,讀者可以使用這些框架開發大部分的頁面功能。本書的第12章,紹如何使用Spring Data框架操作各個主流數據庫,使用像MySQL、Redis、MongoDB。本書的第13章,介紹使用Spring Cloud里面的主要框架,學完本章知識后,讀者可以開發最基本的微服務項目。本書的最后一章,本書以一個案例為基礎結束本書內容。本書定位為一本Java Web開發的入門級書籍,從表現層到持久層,力求為大家提供一整套Java Web開發的技術教程。 |
目錄:第1章 概述 1 1.1 Java EE開發技術 2 1.1.1 Java EE的三層架構 2 1.1.2 MVC框架 2 1.1.3 數據訪問層框架 3 1.1.4 視圖技術 3 1.2 JDK的下載與安裝 3 1.3 安裝與配置Maven 4 1.3.1 關于Maven 4 1.3.2 下載與安裝Maven 4 1.3.3 配置遠程倉庫 5 1.4 安裝Eclipse 5 1.4.1 Eclipse版本 5 1.4.2 在Eclipse中配置Maven 5 1.4.3 獲取本書代碼 6 1.5 本章小結 6
第2章 初試Spring Boot 7 2.1 Spring Boot介紹 8 2.1.1 Spring Boot簡介 8 2.1.2 starter模塊 8 2.2 構建第一個Spring Boot程序 9 2.2.1 新建Maven項目 9 2.2.2 編寫啟動類 10 2.2.3 編寫控制器 11 2.2.4 開發環境的熱部署 12 2.3 運行單元測試 12 2.3.1 測試Web服務 12 2.3.2 模擬Web測試 13 2.3.3 測試業務組件 13 2.3.4 模擬業務組件 14 2.4 發布與調用REST服務 15 2.4.1 REST 15 2.4.2 發布REST服務 15 2.4.3 使用RestTemplate調用服務 16 2.4.4 使用Feign調用服務 18 2.5 本章小結 19
第3章 Spring Boot配置 20 3.1 配置文件 21 3.1.1 默認配置文件 21 3.1.2 指定配置文件 22 3.1.3 yml文件 22 3.1.4 使用profile指定配置 23 3.2 Web配置 24 3.2.1 Servlet配置 24 3.2.2 Listener配置 25 3.2.3 Filter配置 26 3.2.4 構建可部署的war包 26 3.2.5 JSP配置 28 3.3 其他配置 30 3.3.1 服務器常用配置 30 3.3.2 響應壓縮 30 3.3.3 SSL配置 32 3.3.4 使用其他服務器 32 3.3.5 服務器訪問日志 33 3.3.6 banner配置 34 3.4 自定義配置 35 3.4.1 @Value注解 35 3.4.2 定義屬性映射對象 36 3.4.3 使用配置 37 3.4.4 屬性自動識別 38 3.5 本章小結 39
第4章 Spring Boot的注解 40 4.1 Spring的常用注解 41 4.1.1 bean定義 41 4.1.2 依賴注入 42 4.1.3 使用Primary注解 44 4.1.4 Scope注解 45 4.1.5 方法注入 46 4.1.6 AOP注解 47 4.1.7 ComponentScan注解 49 4.2 高級Spring注解 50 4.2.1 限定注解 50 4.2.2 自定義限定注解 51 4.2.3 自定義bean的生命周期 52 4.3 Spring MVC的常用注解 54 4.3.1 Controller注解 54 4.3.2 RequestMapping注解 55 4.3.3 PathVariable注解 56 4.3.4 MatrixVariable注解 56 4.3.5 RequestParam注解 57 4.3.6 文件上傳 58 4.3.7 RestController注解 58 4.4 Spring Boot的條件注解 59 4.4.1 類條件注解 59 4.4.2 項目依賴問題 60 4.4.3 其他條件注解 61 4.4.4 自定義條件注解 61 4.4.5 Spring Boot的自動配置 62 4.5 本章小結 63
第5章 初試Thymeleaf 64 5.1 Thymeleaf 65 5.1.1 什么是Thymeleaf 65 5.1.2 支持的模板類型 65 5.1.3 HTML模板 65 5.1.4 XML模板 66 5.2 初試Thymeleaf API 66 5.2.1 處理HTML 66 5.2.2 更換模板解析器 67 5.2.3 處理資源文件 67 5.2.4 變量處理 68 5.2.5 遍歷集合 69 5.2.6 設置前綴與后綴 69 5.3 在Servlet應用中整合Thymeleaf 70 5.3.1 建立項目 70 5.3.2 配置模板引擎 71 5.3.3 在Servlet中使用Thymeleaf 72 5.3.4 編寫模板文件 73 5.4 在Struts2中整合Thymeleaf 74 5.4.1 建立與配置Struts2項目 74 5.4.2 配置Struts Action 75 5.4.3 整合Themeleaf 76 5.5 在Spring Boot中整合Thymeleaf 77 5.5.1 建立與配置項目 77 5.5.2 編寫控制器與模板 78 5.5.3 靜態資源 79 5.6 本章小結 79
第6章 Thymeleaf對象的使用 80 6.1 文本處理 81 6.1.1 外部文本輸出 81 6.1.2 文本國際化 82 6.1.3 處理轉義文本 83 6.1.4 讀取變量 83 6.1.5 在文本信息中使用變量 84 6.1.6 其他讀取變量的方式 84 6.1.7 鏈接表達式 85 6.2 基本對象 86 6.2.1 基本對象概述 86 6.2.2 #ctx對象 87 6.2.3 Web對象 87 6.2.4 內置變量 88 6.2.5 使用基本對象的注意事項 88 6.3 數字對象 89 6.3.1 整數格式化 89 6.3.2 小數格式化 90 6.3.3 貨幣格式化 91 6.3.4 百分比格式化 92 6.3.5 使用sequence方法 92 6.4 字符串對象 92 6.4.1 toString與length方法 93 6.4.2 非空判斷與默認值處理 93 6.4.3 包含判斷 94 6.4.4 截取與替換 94 6.4.5 追加與拼接 95 6.4.6 分割與連接 96 6.4.7 大小寫轉換 96 6.4.8 字符串編碼與解碼 97 6.4.9 其他處理 98 6.5 日期對象 98 6.5.1 格式化日期 98 6.5.2 獲取日期字段 99 6.5.3 創建日期 100 6.6 數組與集合對象 101 6.6.1 數組 101 6.6.2 List與Set 101 6.6.3 Map 101 6.7 其他內置對象 102 6.7.1 messages對象 102 6.7.2 uris對象 102 6.7.3 aggregates對象 103 6.8 本章小結 103
第7章 Thymeleaf常用語法 104 7.1 表達式語法之運算符 105 7.1.1 表達式常量 105 7.1.2 字符串拼接 106 7.1.3 算術運算符 106 7.1.4 關系運算符 107 7.1.5 條件運算符 108 7.1.6 無操作符 108 7.2 表達式語法進階 108 7.2.1 數據轉換 108 7.2.2 自定義數據轉換類 109 7.2.3 Spring Boot數據轉換 110 7.2.4 表達式預處理 112 7.2.5 表達式調用工具方法 113 7.3 屬性設置 114 7.3.1 使用th:attr 114 7.3.2 設置HTML節點屬性 114 7.3.3 屬性值拼接 115 7.3.4 HTML5屬性支持 115 7.4 條件判斷與數據迭代 116 7.4.1 條件判斷 116 7.4.2 switch case語法 117 7.4.3 使用th:each屬性 117 7.4.4 常見迭代類型 118 7.4.5 迭代狀態對象 118 7.4.6 數據延遲加載 120 7.4.7 在Spring Boot中使用延遲加載 121 7.4.8 星號表達式 121 7.5 本章小結 122
第8章 深入Thymeleaf模板 123 8.1 模板片斷 124 8.1.1 定義與引用模板片斷 124 8.1.2 片斷引用語法 125 8.1.3 選擇器的基礎語法 126 8.1.4 選擇器的其他語法 128 8.1.5 insert、replace與include的區別 128 8.1.6 含有變量的片斷引用 129 8.1.7 片斷塊引用 130 8.1.8 無操作符的使用 131 8.1.9 刪除模板 132 8.1.10 基本表達式總結 134 8.2 模板與邏輯分離 134 8.2.1 邏輯分離例子 134 8.2.2 邏輯分離配置 136 8.2.3 關聯節點的選擇 137 8.3 模板注釋 137 8.3.1 解析層注釋 138 8.3.2 原型注釋 139 8.4 內聯語法 139 8.4.1 使用內聯語法顯示文本 139 8.4.2 在JavaScript中使用內聯語法 140 8.4.3 在CSS中使用內聯語法 140 8.4.4 內聯語法注釋 141 8.4.5 內聯語法序列化 142 8.5 模板緩存 143 8.5.1 開啟與配置緩存 143 8.5.2 緩存有效時間 145 8.6 本章小結 146
第9章 Thymeleaf原理與擴展 147 9.1 概念與接口介紹 148 9.1.1 方言 148 9.1.2 處理器 149 9.1.3 模板處理者 150 9.1.4 模板解析事件 150 9.1.5 節點與標簽 151 9.2 深入Thymeleaf模板處理 151 9.2.1 策略模式 151 9.2.2 責任鏈模式 153 9.2.3 合并使用策略模式與責任鏈模式 156 9.2.4 模板處理過程 159 9.2.5 模板事件 161 9.3 處理器 161 9.3.1 預處理器 161 9.3.2 后處理器 163 9.3.3 一般處理器 164 9.3.4 處理器優先級 165 9.3.5 標簽處理器 167 9.3.6 模型處理器 168 9.3.7 邊界處理器 170 9.3.8 其他處理器 170 9.4 Thymeleaf擴展 171 9.4.1 自定義標簽 171 9.4.2 自定義模板屬性 173 9.4.3 自定義內置對象 175 9.4.4 自定義執行屬性 176 9.5 本章小結 177
第10章 Spring Boot與Thymeleaf整合 178 10.1 在Spring Boot中配置Thymeleaf 179 10.1.1 模板引擎配置 179 10.1.2 Spring MVC視圖解析器 181 10.1.3 Thymeleaf視圖解析器 184 10.1.4 數據轉換配置 186 10.1.5 模板國際化 186 10.2 表單處理 188 10.2.1 表單提交 188 10.2.2 使用th:field屬性 189 10.2.3 HTML節點的id生成 190 10.2.4 實現label節點 192 10.2.5 在模板中處理checkbox與radio 193 10.2.6 表單提交處理checkbox與radio 195 10.3 表單驗證 195 10.3.1 表單驗證 195 10.3.2 修改信息文件 197 10.3.3 輸出錯誤信息 197 10.4 片斷的使用 198 10.4.1 引用片斷 198 10.4.2 使用bean選擇片斷 199 10.4.3 在控制器中引用片斷 201 10.5 自定義標簽 201 10.5.1 方言與處理器 201 10.5.2 配置方言 203 10.6 本章小結 204
第11章 使用JavaScript庫 205 11.1 使用jQuery 206 11.1.1 概述 206 11.1.2 選擇器 206 11.1.3 事件 207 11.1.4 數據列表 208 11.1.5 AJAX調用GET方法 209 11.1.6 AJAX調用POST方法 210 11.1.7 表單驗證 211 11.2 Bootstrap 213 11.2.1 概述 213 11.2.2 數據列表 214 11.2.3 分頁 215 11.2.4 表單 218 11.2.5 警告框的使用 219 11.3 Vue.js 221 11.3.1 概述 221 11.3.2 組件 222 11.3.3 指令 224 11.3.4 循環指令 225 11.3.5 表單驗證 226 11.4 本章小結 227
第12章 數據庫實戰 228 12.1 概述 229 12.1.1 關于Spring Data 229 12.1.2 Spring Data的功能 229 12.1.3 Spring Data模塊 230 12.2 Spring Data與JPA 230 12.2.1 構建項目 230 12.2.2 數據訪問層與業務層 231 12.2.3 自定義數據存儲邏輯 233 12.2.4 方法名查詢 233 12.2.5 使用@Query注解 234 12.3 Spring Data與MongoDB 235 12.3.1 安裝MongoDB 235 12.3.2 配置權限 236 12.3.3 MongoDB的相關概念 236 12.3.4 構建項目 236 12.3.5 數據訪問層與業務層 237 12.3.6 自定義數據存儲邏輯 238 12.3.7 方法名查詢 239 12.3.8 使用@Query注解 240 12.4 Spring Data與Redis 241 12.4.1 Redis的安裝與配置 241 12.4.2 Redis的數據類型 242 12.4.3 使用Jedis 242 12.4.4 構建Spring Data項目 243 12.4.5 數據訪問層與業務層 244 12.4.6 自定義數據存儲邏輯 246 12.4.7 方法名查詢 247 12.5 本章小結 247
第13章 開發微服務 248 13.1 微服務與Spring Cloud 249 13.1.1 微服務簡介 249 13.1.2 Netflix與Spring Cloud 249 13.1.3 Spring Cloud模塊介紹 250 13.2 Eureka服務治理 250 13.2.1 Eureka架構 250 13.2.2 構建服務器 251 13.2.3 服務提供者 253 13.2.4 服務調用者 255 13.2.5 程序結構 257 13.3 Ribbon負載均衡 257 13.3.1 Ribbon介紹 258 13.3.2 第一個Ribbon程序 258 13.3.3 在Spring Cloud中測試使用 Ribbon 259 13.4 客戶端Feign 260 13.4.1 Feign介紹 260 13.4.2 第一個Feign程序 260 13.4.3 使用Feign調用微服務 262 13.5 容錯框架Hystrix 263 13.5.1 Hystrix介紹 263 13.5.2 第一個Hystrix程序 265 13.5.3 在Spring Cloud中整合Hystrix 266 13.6 本章小結 268
第14章 實戰案例 269 14.1 系統功能及界面 270 14.1.1 登錄與首頁 270 14.1.2 圖書管理模塊 271 14.1.3 入庫模塊 272 14.1.4 銷售模塊 273 14.1.5 導航組件與分頁組件 274 14.1.6 運行本章案例 275 14.2 數據庫設計 275 14.2.1 用戶表 275 14.2.2 圖書表與庫存表 275 14.2.3 入庫單數據表 276 14.2.4 銷售單數據表 276 14.3 搭建項目框架 277 14.3.1 項目依賴與項目結構 277 14.3.2 項目配置 278 14.3.3 實體設計 279 14.3.4 用戶登錄 281 14.3.5 片斷定義 282 14.4 圖書管理 283 14.4.1 數據列表 283 14.4.2 通用的分頁組件 285 14.4.3 圖片上傳 286 14.4.4 新建圖書 288 14.4.5 查看與修改圖書 289 14.4.6 刪除圖書 290 14.5 銷售單模塊 291 14.5.1 列表與分頁功能 291 14.5.2 選擇圖書 293 14.5.3 刪除已選圖書與修改數量 295 14.5.4 新建銷售單 297 14.5.5 操作庫存 299 14.6 首頁數據查詢與排序 300 14.6.1 庫存查詢 300 14.6.2 圖書查詢與輪播 301 14.6.3 數據排序 303 14.7 本章小結 304 |
序: |