|
-- 會員 / 註冊 --
|
|
|
|
Grails技術精解與開發實戰 ( 簡體 字) |
作者:郭宏宸 王永超 賀大慶 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 54379 詢問書籍請說出此書號!【缺書】 NT售價: 350 元 |
出版日:5/1/2021 |
頁數:280 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115540515 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書的內容主要分為3部分,共9章。第1部分(第1章與第2章)為Grails框架初探,主要從基本概念出發,介紹 Grails 框架的歷史、特征以及組成部分,通過項目引導讀者入門,并對Groovy進行了基本介紹。第2部分(第3章到第8章)介紹Grails框架的核心部分,分模塊、分功能、多角度對框架進行系統性講解。第3部分(第9章)為應用實例,以學生信息管理系統為例,從項目創建、數據模型設計、業務邏輯處理、頁面渲染到系統測試與部署,全面介紹 Grails 項目開發流程。 本書結合豐富的代碼實例與項目實戰,對 Grails 框架的結構與用法做了深入解析。同時,作為技術指導書,本書提供了實例項目的代碼庫,為開發人員提供良好的學習材料。 本書的目標讀者是具有Java語言基礎,并希望學習Java EE的開發人員,以及具有Web框架使用經驗,并希望嘗試新框架來提高開發效率的開發者。 |
目錄:第 1 章 Grails 框架簡介 . . . . . . . . . . . . . . . . . . . 3 1.1 什么是 Grails 框架 . . . . . . . . . . . . . . . . . 3 1.1.1 Grails 框架的歷史 . . . . . . . . . . . 3 1.1.2 Grails 框架的核心特征 . . . . . . . 4 1.1.3 Grails 框架的應用框架 . . . . . . . 5 1.1.4 Grails 框架的應用結構 . . . . . . . 6 1.2 建立開發環境 . . . . . . . . . . . . . . . . . . . . . . 7 1.2.1 安裝 SDKMAN. . . . . . . . . . . . . . 7 1.2.2 安裝 Java JDK . . . . . . . . . . . . . . 7 1.2.3 安裝 Grails . . . . . . . . . . . . . . . . . . 8 1.2.4 安裝集成開發環境 . . . . . . . . . . . 8 1.2.5 代碼版本控制. . . . . . . . . . . . . . . .9 1.3 Hello Grails 示例項目. . . . . . . . . . . . . . .9 1.3.1 創建 Grails 應用. . . . . . . . . . . . . 9 1.3.2 Grails 框架應用目錄結構 . . . . 10 1.3.3 創建控制器. . . . . . . . . . . . . . . . .11 1.3.4 創建模型. . . . . . . . . . . . . . . . . . . 12 1.3.5 利用腳手架特征 . . . . . . . . . . . . 15 1.4 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . 16 第 2 章 Groovy 動態語言. . . . . . . . . . . . . . . . .17 2.1 Groovy 基礎 . . . . . . . . . . . . . . . . . . . . . . 17 2.1.1 Groovy 運行環境安裝 . . . . . . . 17 2.1.2 基本語法. . . . . . . . . . . . . . . . . . . 20 2.1.3 數據類型. . . . . . . . . . . . . . . . . . . 23 2.1.4 運算符. . . . . . . . . . . . . . . . . . . . . 24 2.1.5 斷言語句. . . . . . . . . . . . . . . . . . . 28 2.1.6 類與對象. . . . . . . . . . . . . . . . . . . 29 2.2 Groovy 集合類型. . . . . . . . . . . . . . . . . . 33 2.2.1 列表 . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.2 映射 . . . . . . . . . . . . . . . . . . . . . . . 36 2.2.3 范圍 . . . . . . . . . . . . . . . . . . . . . . . 38 2.2.4 集合類型的語法增強 . . . . . . . . 39 2.3 Groovy 閉包 . . . . . . . . . . . . . . . . . . . . . . 40 2.3.1 閉包聲明. . . . . . . . . . . . . . . . . . . 41 2.3.2 閉包使用. . . . . . . . . . . . . . . . . . . 41 2.3.3 閉包中的參數 . . . . . . . . . . . . . . 42 2.3.4 GString 中使用閉包. . . . . . . . .43 2.3.5 閉包中的 curry() 方法. . . . . . .45 2.4 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . 46 第 2 部分 Grails 框架核心特性 第 3 章 數據訪問 . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.1 對象關系映射基礎 . . . . . . . . . . . . . . . . . 49 3.2 基本 CRUD 操作. . . . . . . . . . . . . . . . . .50 3.2.1 創建 . . . . . . . . . . . . . . . . . . . . . . . 50 3.2.2 讀取 . . . . . . . . . . . . . . . . . . . . . . . 51 3.2.3 更新 . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.4 刪除 . . . . . . . . . . . . . . . . . . . . . . . 53 3.3 GORM 基礎配置. . . . . . . . . . . . . . . . . . 53 3.3.1 數據源配置. . . . . . . . . . . . . . . . .53 3.3.2 配置項參考. . . . . . . . . . . . . . . . .56 3.3.3 映射與約束. . . . . . . . . . . . . . . . .57 3.3.4 Hibernate 配置 . . . . . . . . . . . . . 58 3.4 GORM 建模 . . . . . . . . . . . . . . . . . . . . . . 58 3.4.1 關聯關系. . . . . . . . . . . . . . . . . . . 60 3.4.2 組合關系. . . . . . . . . . . . . . . . . . . 67 3.4.3 繼承關系. . . . . . . . . . . . . . . . . . . 68 3.4.4 容器類型. . . . . . . . . . . . . . . . . . . 69 3.4.5 建模輔助. . . . . . . . . . . . . . . . . . . 71 3.5 持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5.1 事務的延遲寫 . . . . . . . . . . . . . . 72 3.5.2 數據保存. . . . . . . . . . . . . . . . . . . 73 3.5.3 數據刪除. . . . . . . . . . . . . . . . . . . 74 3.5.4 級聯刪除與更新 . . . . . . . . . . . . 75 3.5.5 即時加載與延遲加載 . . . . . . . . 79 3.5.6 樂觀鎖與悲觀鎖 . . . . . . . . . . . . 83 3.5.7 修改檢查. . . . . . . . . . . . . . . . . . . 85 3.6 GORM 查詢 . . . . . . . . . . . . . . . . . . . . . . 86 3.6.1 list() 方法和 get() 方法. . . . . .86 3.6.2 動態查詢. . . . . . . . . . . . . . . . . . . 87 3.6.3 Where 查詢 . . . . . . . . . . . . . . . . 90 3.6.4 標準條件查詢 . . . . . . . . . . . . . . 98 3.6.5 HQL 查詢. . . . . . . . . . . . . . . . .103 3.7 GORM 高級特性. . . . . . . . . . . . . . . . . 104 3.7.1 事件與時間戳 . . . . . . . . . . . . . 105 3.7.2 自定義 ORM 映射 . . . . . . . . . 109 3.7.3 默認排序. . . . . . . . . . . . . . . . . .109 3.7.4 編程式事務. . . . . . . . . . . . . . . .110 3.8 數據服務層 . . . . . . . . . . . . . . . . . . . . . . 112 3.8.1 Data Service 基礎 . . . . . . . . . 112 3.8.2 查詢操作. . . . . . . . . . . . . . . . . .116 3.8.3 寫操作. . . . . . . . . . . . . . . . . . . . 120 3.8.4 參數校驗. . . . . . . . . . . . . . . . . .121 3.9 多數據源 . . . . . . . . . . . . . . . . . . . . . . . . 121 3.9.1 配置多數據源 . . . . . . . . . . . . . 122 3.9.2 模型與數據源映射 . . . . . . . . . 122 3.9.3 多數據源使用 . . . . . . . . . . . . . 124 3.10 多租戶 . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.10.1 多租戶模式 . . . . . . . . . . . . . . 125 3.10.2 配置. . . . . . . . . . . . . . . . . . . . . 126 3.10.3 使用多租戶 . . . . . . . . . . . . . . 126 3.11 數據約束 . . . . . . . . . . . . . . . . . . . . . . . 129 3.11.1 定義約束. . . . . . . . . . . . . . . . .130 3.11.2 約束總結. . . . . . . . . . . . . . . . .131 3.12 本章小結 . . . . . . . . . . . . . . . . . . . . . . . 132 第 4 章 控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.1 控制器與動作 . . . . . . . . . . . . . . . . . . . . 133 4.2 視圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.2.1 創建視圖參數模型 . . . . . . . . . 134 4.2.2 選擇視圖文件 . . . . . . . . . . . . . 135 4.2.3 多樣化響應. . . . . . . . . . . . . . . .137 4.3 作用域變量 . . . . . . . . . . . . . . . . . . . . . . 138 4.4 重定向 . . . . . . . . . . . . . . . . . . . . . . . . . . 142 4.4.1 redirect() 方法 . . . . . . . . . . . . 142 4.4.2 chain() 方法. . . . . . . . . . . . . . .143 4.5 數據綁定 . . . . . . . . . . . . . . . . . . . . . . . . 144 4.5.1 綁定基本數據類型屬性 . . . . . 145 4.5.2 綁定集合類型屬性 . . . . . . . . . 147 4.5.3 綁定請求數據 . . . . . . . . . . . . . 150 4.5.4 Action 參數綁定. . . . . . . . . . . 151 4.5.5 bindData() 方法 . . . . . . . . . . . 152 4.6 XML 與 JSON 響應 . . . . . . . . . . . . . . 154 4.6.1 內容協商. . . . . . . . . . . . . . . . . .154 4.6.2 使用 format 參數指定請求的內容格式 . . . . . . . . . . . . . . . . . 156 4.6.3 使用 Accept header 指定請求格式 . . . . . . . . . . . . . . . . . . . . . 157 4.6.4 使用 URL 擴展名指定請求格式 . . . . . . . . . . . . . . . . . . . . . 157 4.6.5 使用 respond 返回請求數據 . . . . . . . . . . . . . . . . . . . . . 157 4.6.6 使用 JSON Views 輸出數據 . . . . . . . . . . . . . . . . . . . . . 158 4.6.7 使用 render() 方法返回JSON . . . . . . . . . . . . . . . . . . . . 159 4.7 命令對象 . . . . . . . . . . . . . . . . . . . . . . . . 159 4.7.1 定義命令對象 . . . . . . . . . . . . . 159 4.7.2 使用命令對象 . . . . . . . . . . . . . 161 4.7.3 命令對象與請求參數名稱 . . . 163 4.7.4 命令對象與請求體綁定 . . . . . 165 4.8 異常處理 . . . . . . . . . . . . . . . . . . . . . . . . 166 4.9 URL 映射 . . . . . . . . . . . . . . . . . . . . . . . 167 4.9.1 控制器與方法的映射 . . . . . . . 168 4.9.2 使用 URL 映射進行重定向 . . . . . . . . . . . . . . . . . . . . . 169 4.9.3 綁定變量. . . . . . . . . . . . . . . . . .169 4.9.4 視圖以及請求、響應映射 . . . 171 4.9.5 映射中的 URL 通配符. . . . . .172 4.9.6 鏈接自動重寫 . . . . . . . . . . . . . 173 4.9.7 映射中添加約束 . . . . . . . . . . . 173 4.10 攔截器 . . . . . . . . . . . . . . . . . . . . . . . . . 174 4.10.1 攔截條件配置 . . . . . . . . . . . . 175 4.10.2 攔截器優先級配置 . . . . . . . . 176 4.11 本章小結 . . . . . . . . . . . . . . . . . . . . . . . 176 第 5 章 GSP 頁面展示. . . . . . . . . . . . . . . . . . .178 5.1 GSP 基礎 . . . . . . . . . . . . . . . . . . . . . . . 178 5.2 GSP 標簽 . . . . . . . . . . . . . . . . . . . . . . . 180 5.2.1 GSP 標簽基本用法 . . . . . . . . 181 5.2.2 調用標簽. . . . . . . . . . . . . . . . . .184 5.3 視圖與模板 . . . . . . . . . . . . . . . . . . . . . . 185 5.3.1 共享模板. . . . . . . . . . . . . . . . . .185 5.3.2 在控制器中使用模板 . . . . . . . 186 5.4 布局 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 5.5 靜態資源 . . . . . . . . . . . . . . . . . . . . . . . . 188 5.6 自定義標簽 . . . . . . . . . . . . . . . . . . . . . . 190 5.6.1 邏輯控制. . . . . . . . . . . . . . . . . .192 5.6.2 循環顯示. . . . . . . . . . . . . . . . . .192 5.6.3 標簽命名空間 . . . . . . . . . . . . . 193 5.7 腳手架 . . . . . . . . . . . . . . . . . . . . . . . . . . 193 5.7.1 動態腳手架. . . . . . . . . . . . . . . .194 5.7.2 靜態腳手架. . . . . . . . . . . . . . . .194 5.8 國際化 . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.8.1 讀取消息. . . . . . . . . . . . . . . . . .195 5.8.2 消息參數. . . . . . . . . . . . . . . . . .196 5.9 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . 197 第 6 章 服務層 . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.1 服務層基礎 . . . . . . . . . . . . . . . . . . . . . . 198 6.2 Service 作用域 . . . . . . . . . . . . . . . . . . . 199 6.3 事務處理 . . . . . . . . . . . . . . . . . . . . . . . . 200 6.3.1 使用事務. . . . . . . . . . . . . . . . . .200 6.3.2 事務與 session . . . . . . . . . . . . . 202 6.4 依賴注入 . . . . . . . . . . . . . . . . . . . . . . . . 204 6.5 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . 205 第 7 章 測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 7.1 測試框架 Spock . . . . . . . . . . . . . . . . . . 207 7.2 單元測試 . . . . . . . . . . . . . . . . . . . . . . . . 208 7.3 集成測試 . . . . . . . . . . . . . . . . . . . . . . . . 211 7.3.1 事務. . . . . . . . . . . . . . . . . . . . . . 212 7.3.2 注入. . . . . . . . . . . . . . . . . . . . . . 212 7.4 功能測試 . . . . . . . . . . . . . . . . . . . . . . . . 213 7.4.1 Geb . . . . . . . . . . . . . . . . . . . . . . 213 7.4.2 REST 接口測試 . . . . . . . . . . . 214 7.5 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . 215 第 8 章 插件體系 . . . . . . . . . . . . . . . . . . . . . . . . 217 8.1 創建插件 . . . . . . . . . . . . . . . . . . . . . . . . 217 8.1.1 開發插件. . . . . . . . . . . . . . . . . .219 8.1.2 使用插件與發布插件 . . . . . . . 221 8.2 插件高級特性 . . . . . . . . . . . . . . . . . . . . 222 8.2.1 doWithSpring() . . . . . . . . . . . 223 8.2.2 doWithApplicationContext(). . . . . . . . . . . . . . . . . 225 8.2.3 doWithDynamicMethods() . . . . . . . . . . . . . . . . 225 8.2.4 onChange() . . . . . . . . . . . . . . . 226 8.2.5 組件加載順序 . . . . . . . . . . . . . 227 8.3 自定義組件 . . . . . . . . . . . . . . . . . . . . . . 228 8.4 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . 233 第 3 部分 應用實例 第 9 章 Grails 框架開發實例實踐. . . . . . . . . 237 9.1 環境準備 . . . . . . . . . . . . . . . . . . . . . . . . 238 9.1.1 創建應用程序 . . . . . . . . . . . . . 238 9.1.2 修改配置. . . . . . . . . . . . . . . . . .240 9.2 創建模型 . . . . . . . . . . . . . . . . . . . . . . . . 242 9.3 構建業務模型 . . . . . . . . . . . . . . . . . . . . 244 9.4 創建頁面模板 . . . . . . . . . . . . . . . . . . . . 247 9.4.1 修改 layout . . . . . . . . . . . . . . . 247 9.4.2 修改 templates 文件 . . . . . . . 248 9.4.3 編寫 GSP 文件 . . . . . . . . . . . . 249 9.4.4 使用 fifields 插件定制內容顯示 . . . . . . . . . . . . . . . . . . . . . 251 9.4.5 使用 Taglib . . . . . . . . . . . . . . . 256 9.5 認證和權限控制 . . . . . . . . . . . . . . . . . . 257 9.6 自定義 Action 和 Service 使用. . . . .261 9.7 記錄查詢 . . . . . . . . . . . . . . . . . . . . . . . . 267 9.7.1 添加查詢表單 . . . . . . . . . . . . . 267 9.7.2 編寫 index() 方法. . . . . . . . . .269 9.7.3 聯合查詢. . . . . . . . . . . . . . . . . .270 9.8 多租戶的實現 . . . . . . . . . . . . . . . . . . . . 271 9.9 項目測試 . . . . . . . . . . . . . . . . . . . . . . . . 273 9.9.1 測試模型約束條件 . . . . . . . . . 273 9.9.2 測試控制器方法請求 . . . . . . . 275 9.9.3 集成測試服務層功能 . . . . . . . 276 9.10 構建部署 . . . . . . . . . . . . . . . . . . . . . . . 277 9.10.1 獨立部署. . . . . . . . . . . . . . . . .277 9.10.2 容器部署. . . . . . . . . . . . . . . . .278 9.10.3 使用 Docker 鏡像. . . . . . . . . 278 9.10.4 啟用 HTTPS . . . . . . . . . . . . . 279 9.11 本章小結 . . . . . . . . . . . . . . . . . . . . . . . 280
|
序: |
|