Contribuye

No cabe duda que los chicos de SpringSource se están aplicando al mejorar de manera tan rápida y efectiva este framework, ya considerado plataforma, apenas a principios de año teniamos la versión 1.1 esperandola con ansias y en el libro de The Definitive Guide to Grails mencionaba en un pequeño apartado que para dicha publicación ya iba a estar en puerta la versión 1.1.1; estamos a mediados de año y ya estamos en el M2 de este framework basado en Groovy, Spring, Hibernate y otros de los mejores productos open source para desarrollo Java. Y precisamente hablando de esto quiero mencionar las mejoras que vienen con esta nueva versión, basado en la publicación de las notas de liberación: http://www.grails.org/1.2-M2+Release+Notes

De las mejoras y características más sobresalientes en mi opinión es que ahora esta versión ya viene basada en Spring 3, el cual, viene también con nuevas características que no podemos pasar desapercibidas, para el caso muy especifico de esta version de Grails rescatamos la posibilidad de usar las anotaciones de Spring como son: @Service, @Component, etc. Cualquier clase puede ser anotada como @Component y ser inyectada en cualquier otra…

Incluso podemos anotar con @Controller y mapear a nivel de método con @RequestMapping como si lon hicieramos en Spring directo.

Ahora podemos reescribir cualquier URI en cualquier otra usando el archivo de UrlMappings de Grails por ejemplo:** ‘/hello’(uri:‘/hello.dispatch’)** , muy útil para recursos estaticos o simplemente tener una URI adornada…

Transacciones por método a través de @Transactional, construido de la misma forma en el escaneo de componentes, ahora podemos usarlo a nivel de método.

Mejoras en los finders dinámicos proveídos por el GORM en donde ya podemos incluir valores booleanos en las firmas de los métodos para buscar a través de ellos.

Además de soporte de query’s nombrados a través de la declaración de un closure en la clase de dominio y la invocación de métodos estáticos en donde se requiera usarlos.

Soporte para la relación hasOne donde la llave foranea se encuentra en el hijo y no en el padre de la asociación

Errores de validación estrictos, hay un argumento nuevo en el método save de los objetos de dominio que permite arroja una excepcion si un error ocurre.

Precompilación de las GSP en el deployment de la WAR lo que permite usar menos espacio en memoria al momento de hacer deploys

Multiples contenedores embedidos soportados, ahora ya podemos escoger entre Jetty y Tomcat…Coolness no?

Mapeos de URL Nombradas y la asociación de tags dinámicos basados en dicha configuración hecha dentro del archivo UrlMappings en donde podremos usar tags generadas en base a la escritura de la relación existente entre las peticiones que escribamos y los controllers y action’s que las atiendan…

Estas son algunas de las nuevas funcionalidades que encontraremos en esta nueva versión de Grails(faltan un par), les recomendamos que la prueben…

comments powered by Disqus