Grails

Grails

Legfrissebb stabil kiadás3.2.7
(2017. március 6.)
Programozási nyelvGroovy
Operációs rendszerplatformfüggetlen
Kategóriawebes keretrendszer
LicencApache Software License 2.0
A Grails weboldala

A Grails egy nyílt forráskódú webes keretrendszer, mely a Java platformra illetve a Groovy nyelvre épül.

A fejlesztés 2005 júliusában kezdődött, a 0.1 verzió 2006. március 29-én jelent meg, az 1.0 verzió 2008. február 18-án.

A projekt eredeti neve 'Groovy on Rails' volt, de 2006 márciusában David Heinemeier Hansson, a Ruby on Rails alkotójának kérésére átkeresztelték az informálisan már egyébként is használt rövidebb Grails névre.[1]

Architektúra

grails-app/domain/Cow.groovy
 class Cow {
  String name
  String color
 }

A Grails keretrendszer az MVC mintát használja.

Modell (Model)

A modell az adatokat reprezentálja. A domain osztályok konvenció szerint a grails-app/domain/ könyvtárban vannak.

Nézet (View)

A nézetek az adatokat jelenítik meg a felhasználók felé, illetve felhasználói interakciókat fogadnak. Mivel a Grails webes keretrendszer, a nézetek weboldalként jelennek meg. A Grails támogatja a JSP és a GSP technológiákat. Az elnevezési konvenciót követve a grails-app/views/cow/list.gsp fájlba kerül az a nézet, amely a CowController vezérlő list akciójához tartozik. Az elnevezések alapján a keretrendszer automatikusan elvégzi a hozzárendelést. Az alábbi példa egy GSP-ben írt nézetet mutat:

grails-app/views/cow/list.gsp
<html>
  <head>
    <title>Teheneink teljes listája</title>
  </head>
  <body>
    <h2>Teheneink teljes listája</h2>
    <ul>
      <g:each in="${cows}">
        <li>${it.name} (${it.name})</li>
      </g:each>
    </ul>
  </body>
</html>

Vezérlő (Controller)

grails-app/controllers/CowController.groovy
 class CowController {
    def list = {
       [ cows: Cow.findAll() ]
    }
 }

A vezérlők állítják elő a nézetektől kapott felhasználói inputok alapján a megjelenítendő adatszerkezeteket a nézetek számára. A konvenció szerint a vezérlők a grails-app/controllers/ mappában vannak. A vezérlő tipikus művelete például az összes példány listázása.

Perzisztencia

A Grails-ben az alkalmazásfejlesztő csak a domain osztályokat definiálja, a perzisztencia a keretrendszer dolga. A Grails perzisztenciakezelője a GORM (Grails Object Relational Mapping), ami a Hibernate perzisztáló mechanizmusára épít. Minden osztályhoz automatikusan hozzárendeli az id és a version adatmezőket és generálja a perzisztáláshoz szükséges metódusokkal.[2][3]

Osztálymetódusok

A GORM által kezelt domain osztályok rendelkeznek a következő statikus metódusokkal:

metódus magyarázat példa
count() Az adott osztályból tárolt rekordok száma az adatbázisban.
def cowCount = Cow.count()
exists() Igazat ad vissza, ha létezik adott típusú rekord.
def cowExists = Cow.exists(1)
find() Visszaadja a feltételnek megfelelő első rekordot.
def cow = Cow.find("from Cow c where c.color = ?", [ 'Lila' ])
findAll() Visszaadja a feltételnek megfelelő rekordok listáját.
def cows = Cow.findAll("from Cow c where c.color = ?", [ 'Lila' ])
findBy*() Visszaadja a mintának megfelelő első rekordot.
def cow = Cow.findByColor("lila")
findBy*Like() Visszaadja a mintának megfelelő első rekordot.
def cow = Cow.findByColorLike("li%")
findAllBy*() Visszaadja a mintának megfelelő rekordok listáját.
def cows = Cow.findAllByColor("lila")
findAllBy*Like() Visszaadja a mintának megfelelő rekordok listáját.
def cows = Cow.findAllByColorLike("li%")
findWhere() Visszaadja az első olyan rekordot, ami megfelel a feltételeknek.
def cow = Cow.findWhere(color:"lila")
A lekérdezőnyelv szintaxisa HQL (Hibernate Query Language).

Példánymetódusok

A GORM által kezelt domain osztályok példányváltozói mindig rendelkeznek a következő perzisztáló metódusokkal:

Metódus Magyarázat Példa
save() Menti az adott rekordot adatbázisba.
cow.save()
delete() Törli az adott rekordot adatbázisból.
cow.delete()
refresh() Aktualizálja az adott rekord állapotát az adatbázisból.
cow.refresh()
ident() Visszaadja az rekord azonosítóját az adatbázisból.
cow.ident()

Lásd még

  • Groovy
  • Java (programozási nyelv)

Jegyzetek

  1. Dropping Groovy on Rails name. [2007. november 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2008. szeptember 15.)
  2. Grails Object Relational Mapping (GORM). [2008. május 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. február 14.)
  3. Domain Class Dynamic Methods & Properties. [2008. május 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2008. szeptember 15.)

Irodalom

  • Brown, Jeff & Rocher, Graeme (January 15, 2009), The Definitive Guide to Grails (2nd ed.), Apress, pp. 648, ISBN 1590599950, <http://www.apress.com/book/view/1590599950>. Hozzáférés ideje: 2010-02-14 Archiválva 2010. március 5-i dátummal a Wayback Machine-ben
  • Smith, Glen & Ledbrook, Peter (June 28, 2009), Grails in Action (1st ed.), Manning Publications, pp. 520, ISBN 1933988932, <http://www.manning.com/gsmith/>
  • Dickinson, Jon (May 27, 2009), Grails 1.1 Web Application Development (1st ed.), Packt Publishing, pp. 328, ISBN 1847196683, <http://www.packtpub.com/grails-1-0-web-application-development/book>
  • Abdul-Jawad, Bashar (December 2, 2008), Groovy and Grails Recipes (1st ed.), Apress, pp. 424, ISBN 143021600X, <http://www.apress.com/book/view/143021600X>. Hozzáférés ideje: 2010-02-14 Archiválva 2010. január 2-i dátummal a Wayback Machine-ben
  • Fischer, Robert (April 20, 2009), Grails Persistence with GORM and GSQL (1st ed.), Apress, pp. 125, ISBN 1430219262, <http://www.apress.com/book/view/1430219262>. Hozzáférés ideje: 2009-10-22 Archiválva 2009. december 16-i dátummal a Wayback Machine-ben
  • M. Judd, Christopher; Nusairat, Joseph Faisal & Shingler, Jim (June 18, 2008), Beginning Groovy and Grails: From Novice to Professional (1st ed.), Apress, pp. 440, ISBN 1430210451, <http://www.apress.com/book/view/1430210451>. Hozzáférés ideje: 2009-10-22 Archiválva 2009. augusztus 19-i dátummal a Wayback Machine-ben
  • Rudolph, Jason (February 6, 2007), Getting Started with Grails (1st ed.), Lulu.com, pp. 132, ISBN 143030782X, <http://www.infoq.com/minibooks/grails>

Külső hivatkozások

  • a list of companies doing grails development Archiválva 2010. október 24-i dátummal a Wayback Machine-ben
  • GroovyMag for Groovy and Grails developers
  • Grails home page
  • Groovy home page
  • Grails User guide Quick reference guide.
  • Grails Screencasts Archiválva 2010. október 16-i dátummal a Wayback Machine-ben
  • Introduction To Grails, by Jeff Brown, Principal Software Engineer, Object Computing, Inc. (OCI)
  • Getting Started with Grails, by Jason Rudolph, as part of the InfoQ Enterprise Development series of books - available as a free PDF download to registered users
  • Grails Tutorial Gentle introduction to Grails
  • Grails Brasil Archiválva 2009. június 21-i dátummal a Wayback Machine-ben Largest Brazilian Grails user group
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap
Ez a szoftverekkel kapcsolatos lap egyelőre csonk (erősen hiányos). Segíts te is, hogy igazi szócikk lehessen belőle!