Presentaciones de SpringOne Europe 2009
Escrito por Lennon Shimokawa   
Martes 26 de Mayo de 2009 11:41
Las presentaciones del evento SpringOne Europe 2009 están disponibles aquí.
 
Lo nuevo en Spring 3.0
Escrito por Lennon Shimokawa   
Martes 26 de Mayo de 2009 11:31

Presentación para el evento Spring Live Perú 2009, trató acerca de las nuevas características de la versión 3.0 que está por salir utilizando Spring 3.0 M3.

Los principales puntos fueron:

  • Uso de JDK 5.0
  • Configuración con anotaciones
  • Spring Test Context Framework
  • Spring Expression Language
  • Spring JavaConfig
  • Spring REST Support

Presentación en SlideShare
Repositorio Subversion de Spring Live Perú 2009

Ultima actualización Martes 26 de Mayo de 2009 11:38
 
Spring: Obteniendo beans desde un servlet
Escrito por Abner Ballardo   
Sábado 09 de Mayo de 2009 13:10

Una de las características más importantes de Spring Framework es la inyección de dependencias. Aplicando este patrón podemos lograr que las clases dependan de interfaces y no de alguna implementación específica, los beneficios de esta forma de trabajo son innumerables y pueden encontrar varios artículos que los describen a profundidad en internet y en la documentación de Spring.

Pero que sucede si nos encontramos con el siguiente problema:

Estamos usando Spring MVC en una aplicación web pero nos vemos obligados a implementar un Servlet. Dentro de este Servlet tenemos que invocar a un Service que ya esta siendo administrado por el contexto de Spring.

El consejo del bug killer puede llevarnos por dos caminos en este escenario:

  • No buscar en internet a profundidad, ni preguntar y usar la solución más rápida que se te venga a la mente.
  • Seguir el buen diseño y obtener una referencia al Service administrado por Spring.

En el primer caso tendríamos un Servlet implementado de la siguiente manera:

public class DummyServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public DummyServlet() {

super();

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

DummyService service = new DummyServiceImpl();

resp.getWriter().print(bean.getMessage());

}

}

¡Esta instanciando la implementación del Service directamente!,... esto puede traer serios problemas si se tiene que cambiar el DummyServiceImpl por otro en un futuro próximo o lejano. Lo más probable es que no se actualice el Servlet y se presente un comportamiento no esperado del sistema.

En el segundo caso, usaríamos las mismas clases de Spring para obtener una referencia al Service:

public class DummyServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public DummyServlet() {

super();

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

WebApplicationContext applicationContext = ContextLoader

.getCurrentWebApplicationContext();

DummyService service = (DummyService) applicationContext.getBean("DummyService");

resp.getWriter().print(bean.getMessage());

}

}

Manteniendo de esa manera el diseño y el patrón de inyección de dependiencias.

Happy Hacking!

UPDATE: Para simplificar el ejemplo de este articulo solo se instancia el Service en el Servlet pero debemos tener en cuenta que el Service puede depender de clases DAO o puede necesitar AOP. Esto agravaría más los problemas de instanciar una clase que ya esta siendo manejada por el contenedor IoC.

Abner Ballardo

 
Demos de Integración con Spring
Escrito por Lennon Shimokawa   
Sábado 03 de Enero de 2009 15:36

Gracias a Ricardo Guerra por este aporte a la comunidad Spring Perú, ha publicado unas demos sobre Integración con Spring.

 
Spring Agile Tour Perú 2008: Lima - Instituto Cevatec
Escrito por Lennon Shimokawa   
Viernes 05 de Diciembre de 2008 16:08

Spring Agile Tour Peru 2008

Fecha: Viernes 12 de diciembre 2008
Hora: 4pm
Lugar: I.S.T CEVATEC - Av. Colonial 2798 cruce con la Av. Universitaria

Están todos invitados, el ingreso es libre previo registro aquí.

Más detalles del evento aquí y aquí.

 

Ultima actualización Miércoles 10 de Diciembre de 2008 00:48
 
<< Inicio < Anterior 1 2 3 4 Siguiente > Fin >>

Página 1 de 4