Grails 技術精解與開發實戰
郭宏宸 王永超 賀大慶
買這商品的人也買了...
-
$653實現領域驅動設計 (Implementing Domain-Driven Design)
-
$380$323 -
$580$452 -
$403Spring 微服務實戰 (Spring Microservices in Action)
-
$650$585 -
$680$530 -
$834$792 -
$454Java 微服務測試:基於 Arquillian、Hoverfly、AssertJ、JUnit、Selenium 與 Mockito (Testing Java Microservices: Using Arquillian, Hoverfly, AssertJ, JUnit, Selenium, and Mockito)
-
$540$459 -
$505Spring 實戰, 5/e (Spring in Action, 5/e)
-
$320$272 -
$780$702 -
$520$338 -
$408$388 -
$600$468 -
$880$748 -
$450$405 -
$680$537 -
$1,223Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 5/e
-
$708$673 -
$880$695 -
$580$458 -
$720$612 -
$690$538 -
$450$351
相關主題
商品描述
本書的內容主要分為3部分,共9章。第1部分(第1章與第2章)為Grails框架初探,主要從基本概念出發,介紹 Grails 框架的歷史、特徵以及組成部分,通過項目引導讀者入門,並對Groovy進行了基本介紹。第2部分(第3章到第8章)介紹Grails框架的核心部分,分模塊、分功能、多角度對框架進行系統性講解。第3部分(第9章)為應用實例,以學生信息管理系統為例,從項目創建、數據模型設計、業務邏輯處理、頁面渲染到系統測試與部署,全面介紹 Grails 項目開發流程。
本書結合豐富的代碼實例與項目實戰,對 Grails 框架的結構與用法做了深入解析。同時,作為技術指導書,本書提供了實例項目的代碼庫,為開發人員提供良好的學習材料。
本書的目標讀者是具有Java語言基礎,並希望學習Java EE的開發人員,以及具有Web框架使用經驗,並希望嘗試新框架來提高開發效率的開發者。
作者簡介
郭宏宸,畢業於清華大學軟件學院,碩士研究生,現任職於北京理工大學網絡信息技術中心,主要從事高校信息化建設工作。
具有豐富的項目開發經驗,對Java EE平台和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