Spring - MVC : Capa de negocio
Avancemos un poco más en nuestros conocimientos básicos de Spring - MVC. Vamos a extraer el negocio de nuestras clases controlers y vamos a llevarlos a nuevas clases de la capa de negocio.
holamundoBO
Bueno, repasemos los primeros pasos de Spring - MVC. Si necesitas ayuda mira la chuleta de la entrada anterior, sobre el proyecto holamundo con Spring - MVC.
Creemos un nuevo proyecto web dinámico, holamundoBO. Importamos las librerías necesarias, configuramos el web.xml para que utilice Spring al recibir extensiones ".lycka". Creemos nuestra clase controller, es.lycka.holamundoBO.control.HolaMundoController y la implementamos como hicimos en el tutorial anterior. Nos resta configurar el fichero xml de configuración de la servlet de spring, holamundoBO-servlet.xml para que mapee el path /holamundo.lycka al controlador que acabamos de crear.
Podemos utilizar las mismas jsp's que en el proyecto de holamundo, index.jsp y jsp/holamundo.jsp.
Desplegamos la aplicación en el servidor y comprobamos que se ven correctamente la ruta /holamundo.lycka.
Extraer el negocio
En nuestro caso el negocio es muy simple, es únicamente una sentencia. Habitualmente sabemos que no es así.
(new Date()).toString()
Para ello crearemos un interfaz, es.lycka.holamundoBO.negocio.HolaMundoBO, y lo implementaremos en la clase es.lycka.holamundo.negocio.impl.HolaMundoBOImpl.
package es.lycka.holamundoBO.negocio;
public interface HolaMundoBO {
public String getHoraActual ();
}
y
package es.lycka.holamundoBO.negocio.impl;
import java.util.Date;
import es.lycka.holamundo.negocio.HolaMundoBO;
public class HolaMundoBOImpl implements HolaMundoBO {
public String getHoraActual () {
return (new Date()).toString();
}
}
Configurar Spring
Vale, ahora vamos a sacar uso de la Inyección de Dependencias de Spring.
Creamos una variable privada en el controller del tipo HolaMundoBO, y un método set para esta variable. Utilizamos el método de negocio de esta variable, getHoraActual ().
private HolaMundoBO holaMundoBO;
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ahora = holaMundoBO.getHoraActual();
logger.info("Se dirige a la vista holamundo con ahora = " + ahora);
return new ModelAndView("holamundo", "ahora", ahora);
}
public void setHolaMundoBO(HolaMundoBO holaMundoBO) {
this.holaMundoBO = holaMundoBO;
}
Ahora declaramos el bean en el archivo de configuración de Spring, holamundoBO-servlet.xml.
<bean id="HolaMundoBO" class="es.lycka.holamundoBO.negocio.impl.HolaMundoBOImpl" />
Y ahora le inyectamos el bean de negocio al controlador… cómo ? declaramos una nueva propiedad en el bean del controller para inyectarle este método de negocio.
<bean name="/holamundo.lycka" class="es.lycka.holamundoBO.control.HolaMundoController" >
<property name="holaMundoBO" ref="HolaMundoBO" />
</bean>
Probamos el códgio, et voilá, funciona ! Ya tenemos nuestra capa de negocio en un proyecto de Spring.




























Lycka Bonita » Spring AOP : Primeros pasos dijo
7 de July del 2008 a las 7:04 am
[...] del anterior proyecto, holamundoBO. Creamos un nuevo proyecto web dinámico, holamundoAOP, e introducimos las librerías [...]