This page (revision-28) was last changed on 01-Jul-2020 15:11 by Peter Hormanns 

This page was created on 21-Nov-2006 11:24 by PeterHormanns

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
28 01-Jul-2020 15:11 3 KB Peter Hormanns to previous alle toten Links gelöscht
27 01-Jul-2020 13:40 3 KB Peter Hormanns to previous | to last codehaus gibts nicht mehr
26 07-Nov-2009 10:56 3 KB ThomasBayen to previous | to last Groovy-Tag eingeführt
25 07-Nov-2009 10:55 3 KB ThomasBayen to previous | to last Groovy-Tag eingeführt
24 16-Jul-2009 08:25 3 KB MarkusMonderkamp to previous | to last Groovy-Webstart
23 06-Jan-2009 13:42 3 KB Peter Hormanns to previous | to last Groovy und GRails-Wiki
22 02-Mar-2008 21:29 3 KB PeterHormanns to previous | to last Tagging
21 10-Jan-2007 09:31 3 KB MarkusMonderkamp to previous | to last Groovy 1.0

Page References

Incoming links Outgoing links

Version management

Difference between version and

!!! Skriptsprache Groovy

Groovy ist eine Skriptsprache,
* deren Syntax an Java angelehnt ist und
* die in einer Java VM läuft, d.h. Groovy wird in Java-Bytecode kompiliert.

Seiten im Wiki der LUG Krefeld, die mit dem '''Groovy'''-Tag gekennzeichnet sind:

[{HasTagOf Groovy}]Ruby}]

Update am 09.01.2007:
Groovy in der Version 1.0 steht zum [Download|http://groovy.codehaus.org/Download] bereit. Quelle: [Heise|http://www.heise.de/newsticker/result.xhtml?url=/newsticker/meldung/83138&words=Java] --MarkusMonderkamp

!! Integration in Eclipse

Ich starte, indem ich mir das passende Plugin in meine EclipseIDE installiere. Dazu trage ich den Link http://dist.codehaus.org/groovy/distributions/update/ als Update Site ein.

Dann lege ich ein neues Java-Projekt an und füge die Groovy-Nature hinzu. Das geht über den entsprechenden Eintrag im Rechte-Maustaste-Menü zum neu angelegten Projekt.


!!Erste Schritte

Zunächst versuche ich einige der Feature von Groovy aufzuprobieren.


!Einbaute Syntax für Listen, Maps etc.
{{{
 list = ["Peter", "Paul", "Mary"]
 list.each { println it }
}}}
{{{
 map = [id:1, name:"Peter", age:44]
 println "Peter's name: " + map["name"]
 println map.name + "'s age is " + map.age
 println "${map.name}'s age is $map.age"
}}}

!Closures

Closures sind Code-Stücke, die man Variablen zuweisen kann. Closures können als Parameter übergeben werden
und stellen so ein sehr mächtiges Werkzeug dar, um Funktionen sehr universell zu programmieren.
{{{
 closure = { text -> println "Der Text ist: $text" }
 list = ["Peter", "Paul", "Mary"]
 list.each { closure(it) }
}}}

!Reguläre Ausdrücke

Die Sprache Groovy verfügt über eine Syntax für reguläre Ausdrücke entsprechend dem __java.regexp__-Package.

Der binäre Operator {{{ ==~ }}} erwartet Links einen String und rechts einen regulären Ausdruck. Das Ergebnis
ist __true__, wenn der String den Ausdruck matched.
{{{
 if ("potato" ==~ /potatoe?/) println "Ok!"
 if ("potatoe" ==~ /potatoe?/) println "Ok!"
 if ("potatoo" ==~ /potatoe?/) println "Ok!"
}}}

Der binäre Operator {{{ =~ }}} erwartet ebenfalls String und regulären Ausdruck als Parameter, er liefert jedoch einen
__Matcher__. Aus dem Matcher lassen sich dann Variablen extrahieren, die Klammer-Teilausdrücke im regulären Ausdruck
matchen.
{{{
 def text = "Schulze, Hans-Georg, Cologne\nMeier-Ebert, Hans-Gustav, Essen\nKlugewas, Hermann, Berlin\n"
 def matches = text =~ /([^,]*), ([^,]*), ([^\n]*)\n?/
 for (i in 0..matches.groupCount()-1) {
   m = matches[i]
   println "${m[1]} ${m[2]} lives in ${m[3]}"
 }
}}}

!!Weitergehende Funktionen

!SQL
{{{
 import groovy.sql.Sql;

 sql = Sql.newInstance("jdbc:mysql://localhost:3306/test",
   "test", "geheim", "com.mysql.jdbc.Driver");
 res = sql.eachRow(
   "select * from person where age > 25",
   { println "$it.surname is $it.age years old" }
 )
}}}

!!~GroovyWebstart

Machbarkeitsstudie für [Java-Webstart|http://en.wikipedia.org/wiki/Java_Web_Start] einer Groovy-Anwendung: GroovyWebstart

!!Links

* [http://groovy.codehaus.org/] - Groovy Homepage
* [Artikel über Groovy|http://www.sigs.de/publications/js/2004/05/tilly_JS_05_04.pdf] im ~JavaSPEKTRUM 5/2004
* Groovy bei [O'Reilly|http://www.oreillynet.com/onjava/blog/2004/10/gdgroovy_index.html]
* [Vortrag|http://www.groovybuch.de/ressourcen/vortrag_060929.pdf] über Groovy
* [GRails|http://www.grails.org] ist das Groovy-Web-Framework
* [Groovy und GRails-Wiki|http://www.groovy-forum.de/wiki/]

[{Tag Java Groovy}]