Grails 技術精解與開發實戰
郭宏宸 王永超 賀大慶
買這商品的人也買了...
-
$768實現領域驅動設計 (Implementing Domain-Driven Design) -
統計學,最強的商業武器:實踐篇$380$300 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
$474Spring 微服務實戰 (Spring Microservices in Action) -
Neo4j 大事典 : 圖形資料庫 & 大數據時代$650$553 -
領域驅動設計:軟體核心複雜度的解決方法 (Domain-Driven Design: Tackling Complexity in the Heart of Software)$680$530 -
$726微服務架構設計模式 (Microservices Patterns: With examples in Java) -
$534Java 微服務測試:基於 Arquillian、Hoverfly、AssertJ、JUnit、Selenium 與 Mockito (Testing Java Microservices: Using Arquillian, Hoverfly, AssertJ, JUnit, Selenium, and Mockito) -
Neo4j 開發應用指南 (舊名: 還在用老掉牙的 RDBMS?下一代圖資料庫 Neo4j 實戰)$540$459 -
$594Spring 實戰, 5/e (Spring in Action, 5/e) -
統計學,最強的商業武器:從買樂透到大數據,全都離不開統計學;不懂統計學,你就等著被騙吧!(三版)$320$253 -
東京大學資料科學家養成全書:使用 Python 動手學習資料分析$780$663 -
Kubernetes 建置與執行 : 邁向基礎設施的未來, 2/e (Kubernetes: Up and Running: Dive into the Future of Infrastructure, 2/e)$520$411 -
$347Web 輕量級框架 Spring + Spring MVC + MyBatis 整合開發實戰, 2/e -
大數據時代超吸睛視覺化工具與技術:Tableau 資料分析師進階高手養成實戰經典$600$468 -
極速開發 Java 大型系統:Spring Boot 又輕又快又好學$880$695 -
零基礎入門的機器學習圖鑑:2大類機器學習 X 17種演算法 X Python 基礎教學,讓你輕鬆學以致用$450$405 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
$1,439Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 5/e -
$602微服務架構深度解析:原理、實踐與進階 -
金融 AI|人工智慧的金融應用$880$695 -
Spring Boot:建置與執行 (Spring Boot: Up and Running: Building Cloud Native Java and Kotlin Applications)$580$458 -
架構師帶你做敏捷測試:在真正專案中應用$720$569 -
超大流量系統解決方案 : 大型網站架構師的經驗分享$690$538 -
多元裝置時代的 UI/UX 設計法則:打造出讓使用者完美體驗的好用介面, 2/e$450$351
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書的內容主要分為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


