Apache Grails Core Documentation
repository·8.0.x·Indexed 25 days ago
https://github.com/apache/grails-coreDocumentation for the Apache Grails web application framework built on Groovy. Includes details on core modules such as grails-codecs-core, grails-console, and GORM implementations for Hibernate 5, Hibernate 7, and MongoDB. Covers the Database Migration plugin using Liquibase, GORM for GraphQL schema generation, and integration guides for Spring Boot, Java, and Kotlin projects.
What's inside Apache Grails Core
- The Grails Async Framework provides APIs and libraries designed to integrate Grails applications with asynchronous libraries and frameworks. It specifically enables seamless integration with tools such as GPars and RxJava to handle asynchronous programming patterns within the Grails ecosystem.
Overview of grails-web-gsp
8.0.xThegrails-web-gspsubproject provides the necessary support files and configuration required for GSP (Groovy Server Pages) rendering within a Grails web application.Overview of Grails Scaffolding Plugin
8.0.xThe Grails Scaffolding Plugin is designed to simplify the generation of CRUD (Create, Read, Update, Delete) interfaces for domain classes within Grails applications. It supports two primary modes:
- Dynamic Scaffolding: Automatically generates controllers and views at runtime based on your domain model.
- Static Scaffolding: Generates controller and view source code files that you can then customize manually.
The plugin integrates directly with Grails' validation and constraints, ensuring that all generated forms and interfaces automatically respect the rules defined in your domain model.
Overview of GORM for Neo4j
8.0.xGORM for Neo4j implements the Grails Object Relational Mapping (GORM) pattern for the Neo4j 3.x Graph Database. It utilizes the Bolt Java Driver to facilitate graph database operations within Grails applications.Overview of grails-console
8.0.xThegrails-consolesubproject provides the underlying code and support for several Grails interactive environments, including the Grails console, the Grails shell, and the Grails Swing console.Overview of GORM for Hibernate 7
8.0.xGORM for Hibernate 7 (
grails-data-hibernate7) is the persistence layer for GORM (the GRAILS Object Relational Mapping framework). It maps Groovy domain classes to relational databases using Hibernate ORM 7 and Jakarta EE 10.Key features include:
- Convention-based ORM mapping.
- Full Hibernate 7 support using
jakarta.*packages. - Spring Boot 3.5 integration.
- Querying capabilities: Dynamic finders, named queries,
wherequery DSL, HQL, and native SQL. - Advanced features: Optimistic locking, second-level caching, batch fetching, and multi-tenancy.
- Association mapping: one-to-one, one-to-many, many-to-many, and basic collections.
- Inheritance strategies: table-per-hierarchy, table-per-subclass, and table-per-concrete-class.
- Mapping control: Groovy
static mapping {}DSL for customizing table/column names, types, and strategies.
Overview of Grails Plugin Profile
8.0.xThe Grails Plugin Profile serves as the base profile for developing Grails plugins. It provides the necessary configuration and structure required to build and manage plugins within the Grails ecosystem.Overview of Grails Database Migration Plugin
8.0.xThe Grails Database Migration plugin provides a structured way to manage database schema changes during Grails application development. It is built upon the Liquibase library and allows developers to define database migrations in text form using either a Groovy DSL or native Liquibase XML. These changelog files can be maintained in source control and organized hierarchically (e.g., a rootchangelog.groovyorchangelog.xmlthat includes smaller feature-specific changelogs).Overview of Spring Security UI Plugin features
8.0.xThe Spring Security UI plugin provides CRUD screens and user management workflows. It includes several conditional features based on your configuration and other installed plugins:
- ACL Controllers and Views: Enabled automatically if the
ACL Pluginis installed. - Requestmaps support: Available if
grails.plugin.springsecurity.securityConfigTypeis set to"Requestmap"orSecurityConfigType.Requestmapinapplication.groovy. - Persistent cookies support: Enabled if configured using the
s2-create-persistent-tokenscript.
Security Note: CRUD screens are protected against Cross-Site Request Forgery (CSRF) attacks using the
useTokenattribute in forms.- ACL Controllers and Views: Enabled automatically if the
Overview of grails-testing-support
8.0.xThegrails-testing-supportmodule provides the core testing libraries that serve as the foundation for all other testing support libraries within the Grails ecosystem. It contains the fundamental components required to build and run tests in Grails applications.Introduction to the Spring Security Plugin
8.0.xThe Spring Security plugin integrates Spring Security into Grails applications. It provides sensible defaults while allowing extensive customization through configuration and the replacement of core components via interfaces. This plugin is designed to be highly configurable, allowing developers to tailor security settings to their specific application needs.Overview of Groovy Server Pages (GSP)
8.0.xGroovy Server Pages (GSP) is the server-side view rendering technology used within the Grails framework. It allows developers to create dynamic web content using Groovy syntax within HTML templates.