Archive for the ‘Spring’ Category

Sobre el Spring2GX Day

Monday, February 22nd, 2010

El viernes tuvo lugar el Spring2GX Day en Madrid, evento organizado por Sergi Almar junto a javaHispano y SpringSource. La verdad es que me quedé muy sorprendido por el interés que generó el evento, con más de 400 inscritos, no sé cuál sería el número de asistentes finalmente, pero se vió bastante gente durante todo el día.

La sala de conferencias

Una de las cosas que más me gustan de estos eventos es tener la oportunidad de reencontrarte con viejos conocidos como Sergi, Nacho Brito, Álvaro Sánchez-Mariscal, Aitor Alzola, los paisanos de MasterD… además de con Martín y Jordi, por supuesto XD. Poner cara a gente con la que has mantenido algún contacto por internet como Tomás Lin, Raúl Expósito, Alberto Vilches o el mismo Graeme Rocher. Y por supuesto entablar conversaciones y conocer gente nueva durante el evento.

Eso sí, me quedé con mal sabor de boca por no haberme podido quedar hasta el final del evento, ya que hubo gente con la que no pude hablar o ni si quiera saludar, pero el tren de vuelta no esperaba :(

Algunos ponentes
Algunos de los ponentes, compartido por @sergialmar

Sobre las charlas no me voy a extender, Alberto Vilches y Tomás Lin han hecho unos resúmenes del evento estupendos, además, no creo que tarden mucho en publicarse los videos del evento :) .

Acerca de la presentación que hicimos nosotros sobre nuestra experiencia creando Jobsket con Grails y Java, Martín publicó ayer las transparencias que utilizamos. Parece que para bastante gente resultó interesante conocer de primera mano una experiencia concreta con estas tecnologías.


Martín hablando de nuestros números, foto de @jerolba

También me quedo con la sensación de que Groovy y Grails empiezan a calar en España. Tanto por interés a nivel particular de desarrolladores, como de algunas empresas y organizaciones que lo están empezando a adoptar o que están interesadas en conocer lo que les puede aportar.

Estaremos en el Spring 2GX Day

Tuesday, January 12th, 2010

Con tanto festivo de por medio, ya casi se me pasaba avisar aquí de que el equipo de jobsket en pleno, vamos a participar en el evento Spring 2GX Day, el 19 de Febrero de 2010 en la Escuela Politécnica Superior de la Universidad CEU San Pablo de Madrid.

Jobsket en el Spring 2GX Day

Este es el primer evento en España que gira exclusivamente a las tecnologías relacionadas con Spring, Groovy y Grails; la asistencia es gratuita y está organizado conjuntamente por javaHispano y SpringSource.

La agenda no está completamente cerrada, pero ya se han confirmado como ponentes internacionales a Graeme Rocher y Joris Kuipers. Además de, entre otros, a Nacho Brito y Álvaro Sánchez-Mariscal de Escuela de Groovy.

En nuestro caso hablaremos de productividad con Grails y Java

Una de las características más importantes de Grails es la gran productividad que ofrece en el desarrollo, a la vez que se aprovecha toda la potencia de la plataforma Java a través de su integración con el framework Spring. Aún así, mucha gente puede estar tentada a deshechar la plataforma por estar asociada con Groovy y pensar que se trata de un todo o nada. En esta charla se mostrará como construimos Jobsket sobre Grails explotando al máximo la productividad y rapidez de desarrollo que aporta y como aprovechamos sus capacidades de integración para interactuar con todos los servicios Java que teníamos desarrollados

También quiero aprovechar a agradecer a Sergi Almar que haya contado con nosotros para participar en el evento. ¿Nos vemos en el Spring 2GX Day? :)

Acceder al ApplicationContext en un HttpSessionListener

Friday, January 30th, 2009


public void sessionCreated(HttpSessionEvent event) {
TestService testService = (TestService) getApplicationContext(event).getBean(“testService”);
//….
}

PD: Esto es una nota mental para no olvidarlo, y si de paso le sirve a alguien, pues mejor aún :)
PDD: Están muy bien servicios como gist o pastie, para compartir pequeños trozos de código ;)

Tutorial de inyección de dependencias con Spring

Tuesday, October 7th, 2008

Rick Hightower está trabajando en un interesante tutorial sobre inyección de dependencias usando Spring. Realmente el tutorial empieza explicando explicando las bondades de la inyección de dependencias para desacoplar nuestro código; y sigue con una explicación de cómo hacerlo a mano, sin la ayuda de frameworks, con nuestro propio código pegamento.

Una vez introducidos, va explicando las diferentes formas con las que se inyectan dependencias con Spring, empezando desde la forma clásica usando sólo configuración XML, sigue adentrándose en algunas de las diferentes anotaciones de Spring que podemos utilizar(@Required, @Autowire, @Qualifier, @Component…), después en la configuración de objetos con tipos primitivos y acaba con el ciclo de vida y los ámbitos(scopes) de los objetos inyectados. En definitiva, un muy buen recurso para introducirse a la inyección de dependencias, a Spring y a sus anotaciones.

Sobre las anotaciones para la configuración de depenencias con Spring, bajo una opinión completamente personal y sin haberlas utilizado todavía, no me termina de convencer usarlas: Por un lado atamos nuestras clases a Spring con la configuración hardcodeada y por otro tenemos la configuración repartida en múltiples clases.

Quizás esté equivocado en lo segundo y sea más mantenible tener repartida la configuración en las mismas clases que tenerla en uno o varios XML, por esto me gustaría conocer las opiniones de los que pasáis por aquí que uséis Spring con o sin anotaciones y vuestras experiencias.

Podcast de Spring Hispano

Monday, May 12th, 2008

Desde Spring Hispano, la comunidad hispana de Spring framework, han publicado su primer podcast alrededor de este framework.

Interesante iniciativa, sobre todo por la poca cantidad de contenido en español que hay sobre este framework.

Si te interesa Spring, también en los podcast de javaHispano hay algunos en los que se habla de spring.

Integrar Spring y Struts

Wednesday, February 27th, 2008

Hace ya algún tiempo que ando tocando algunas cosas de Spring framework. Un framework que simplifica el desarrollo de aplicaciones J2EE, que entre otras cosas nos permite desacoplar partes de nuestro código gracias a Spring IoC.

A raíz de un post en programania, en donde explican dos formas de integrar spring con struts, voy a aprovechar para explicar aquí las otras dos alternativas para hacerlo.

  • Nuestros Actions deben extender de ActionSupport: de esta forma se facilita la obtención del contexto de spring manualmente, que es la forma más sencilla de hacerlo. El problema, evidentemente que de esta forma las Actions de struts quedan muy aclopadas a spring.
  • Usando DelegatingRequestProcessor (o en el caso de usar Tiles DelegatingTilesRequestProcessor): le pasamos el manejo de las acciones a spring sobre-escribiendo el RequestProcessor de struts. De esta forma desacomplamos los Actions de spring, aunque nos puede surgir el problema que vayamos a usar un RequestProcessor propio, por lo que deberíamos usar el DelegatingActionProxy, que es la forma que explican en programania.

La pega que surge al delegar el manejo de los Actions a Spring con DelegatingRequestProcessor y DelegatingActionProxy, es que hay que definir en el beans.xml nuestros actions de struts. En el primer caso, en el struts-config definiremos (como siempre) nuestros actions, por lo que deberemos mantener las mismas actions en dos XML diferentes, sólo cambia que definimos:

controller processorClass = "org.springframework.web.struts.DelegatingRequestProcessor"

mientras que en el segundo, para cada action de struts-config le pondremos el type DelegatingActionProxy:

type = "org.springframework.web.struts.DelegatingActionProxy"

En conclusión, es recomendable delegar el manejo de las acciones a spring aunque tengamos que mantener dos XML diferentes, ya que la integración es más transparente y además tendremos la opción de utilizar Spring AOP. Mientras que extender de ActionSupport resultaría útil para utilizar varios contextos de spring distintos.

Para encontrar una explicación mucho más detallada y con ejemplos, en developerWorks hay un artículo disponible.