Grails

Curso

4.  
15.  
29.  
32.  
36.  
37.  
42.  
52.  
54.  
58.  

Contactar con el profesor

Grails es una copia Rails, y Groovy & Grails es una copia de Ruby on Rails.

Principios de Grails

  • Convención sobre configuración (todo lo que sea cómo siempre no hace falta que lo configures). Por ejemplo, todas las clases que terminen por la palabra Service, son servicios.
  • Filosofía agile.
  • Sencillo a la hora de utilizar prototipos rápidos.
  • Se integra plenamente en Java (un servidor Tomcat no sabe si está ejecutando una aplicación Grails o Java).
  • Orientado a aplicaciones web.
  • Aporta una gran productividad.

Primera aplicación con Grails

1. http://start.grails.org/ → Descargamos, descomprimimos e importamos en intelliJ nuestro proyecto Groovy & Grails.

2. Arrancamos el proyecto. Ya viene con un servidor Tomcat Embebido.

Grails 1

3. botón derecho sobre domain → new → Groovy Class → com.pablomonteserin.Persona

package com.pablomonteserin

class Persona {
    String nombre
    int edad

    @Override
    String toString() {
        return "${nombre} de ${edad} años"
    }
}

4. Generamos los componentes vinculados a la entidad Persona.

grailsw generate-all Persona -force

Esto genera, para el domain Persona, el soporte completo para el CRUD, compuesto de:

  • Las vistas.
  • Los métodos del controlador (el nombre de cada método corresponde automáticamente a la url que utilizaremos para llamarlo) y y un método del controlador para cada uno de los casos de uso.

En cuanto al CRUD…

  • index → consulta de varios registros.
  • show → consulta un único registro.
  • update → actualización de un registro.
  • delete → borrado de un registro.

Configurando la persistencia en una base de datos MySQL

application.yml

environments:
    development:
        dataSource:
            dbCreate: update
            url: jdbc:mysql://localhost:3306/pruebagroovy
            username: root
            driverClassName: com.mysql.jdbc.Driver
            password: ""
            dialect: org.hibernate.dialect.MySQL5InnoDBDialect

build.gradle

compile 'mysql:mysql-connector-java:5.1.29'

Usando JSON

def indexJSON(){
    render personaService.list(params) as JSON
}

Tener en cuenta que el save y el update utilizan POST y PUT respectivamente.

← Lenguaje Groovy
Curso de React Native →

Aviso Legal | Política de privacidad