Grails
Grails | |
![]() | |
Legfrissebb stabil kiadás | 3.2.7 (2017. március 6.) |
Programozási nyelv | Groovy |
Operációs rendszer | platformfüggetlen |
Kategória | webes keretrendszer |
Licenc | Apache 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
- ↑ Dropping Groovy on Rails name. [2007. november 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2008. szeptember 15.)
- ↑ 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.)
- ↑ 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
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! |