中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
Grails技術精解與開發實戰

包郵 Grails技術精解與開發實戰

作者:郭宏宸
出版社:人民郵電出版社出版時間:2021-05-01
開本: 16開 頁數: 288
本類榜單:教材銷量榜
中 圖 價:¥51.3(7.3折) 定價  ¥69.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

Grails技術精解與開發實戰 版權信息

Grails技術精解與開發實戰 本書特色

Grails是Java體系內的敏捷開發框架,本書從介紹 Groovy 語言開始,逐步介紹了 Grails 框架的各部分內容。本書作者具有多年Grails的使用經驗,開發了多個Grails應用并投入使用,熟悉框架的使用方式以及一些高級特性。本書是目前少有的較新的中文Grails參考資料,章節樣例詳盡,包含配套開發實踐項目,便于學以致用。

Grails技術精解與開發實戰 內容簡介

本書的內容主要分為3部分,共9章。部分(章與第2章)為Grails框架初探,主要從基本概念出發,介紹Grails框架的歷史、特征以及組成部分,通過項目引導讀者入門,并對Groovy進行了基本介紹。第2部分(第3章到第8章)為Grails框架核心特性,介紹Grails框架的核心部分,分模塊、分功能、多角度對框架進行系統性講解。第3部分(第9章)為應用實例,以學生信息管理系統為例,從項目創建、數據模型設計、業務邏輯處理、頁面渲染到系統測試與部署,全面介紹Grails項目開發流程。
本書結合豐富的代碼示例與項目實戰,對Grails框架的結構與用法做了深入解析。同時,作為技術指導書,本書提供了實例項目的代碼庫,為開發人員提供良好的學習材料。
本書的目標讀者是具有Java語言基礎,并希望學習JavaEE的開發人員,以及具有Web框架使用經驗,并希望嘗試新框架來提高開發效率的開發者。

Grails技術精解與開發實戰 目錄

第 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
展開全部

Grails技術精解與開發實戰 作者簡介

郭宏宸,畢業于清華大學軟件學院,碩士研究生,現任職于北京理工大學網絡信息技術中心,主要從事高校信息化建設工作。具有豐富的項目開發經驗,對Java EE平臺和Grails框架有深入研究。 王永超 北京理工大學網絡信息技術中心工程師 賀大慶 北京理工大學網絡信息技術中心工程師

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 回收二手冲床_金丰旧冲床回收_协易冲床回收 - 大鑫机械设备 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 船老大板材_浙江船老大全屋定制_船老大官网 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | 氢氧化钾厂家直销批发-济南金昊化工有限公司| 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」| 浙江上沪阀门有限公司 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 导电银胶_LED封装导电银胶_半导体封装导电胶厂家-上海腾烁 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 |