Groovy es Java. Dinámico Inspirado en Ruby, Python y Smalltalk OOP puro Closures, Gstrings, Builders, DSL No compile type-‐checking Más lento que Java
static main(args) { HelloWorld hw = new HelloWorld() hw.setNombre("Groovy”) System.out.println(hw.saluda()) } String nombre def saluda() { "Hola "+ nombre } } No hace falta especificar Gpo ni return
new HashMap(); map.put(“clave”, “valor”); map.get(“clave”); List list = new ArrayList(); list.add(“primero”); list.add(“segundo”); def map = [clave: “valor”] map.clave map[“clave”] def list = [“primero”] list << “segundo”
new ArrayList(); list.add(“primero”); list.add(“segundo”); List otra = new ArrayList(); otra.add(“tercero”); List suma = new ArrayList(); suma.addAll(list); suma.addAll(otra); def list = [“primero”,”segundo”] def otra = [“tercero”] def suma = list + otra
new Curso(); c.setNombre(“Groovy”); ... List cursos = new ArrayList(); cursos.add(c); ... List nombres = new ArrayList(); For (Curso c : cursos) { nombres.add(c.getNombre(); } def cursos = [new Curso(nombre:”Groovy”), new Curso(nombre:”Grails”)] def nombres = cursos*.nombre
Groovy sobre Spring No es una librería CoC -‐> No XML Stack completo preconfigurado: Hibernate, Spring, Sitemesh, Quartz, JUnit TesGng Extensible: plugins