En AppFuse.org, es una aplicación que genera un archivo Ant o un comando Maven para generar proyectos vacíos que emplean/integran otras herramientas, pero ya preparados.
Al arrancar la aplicación intentará arrancar Hibernate teniendo en cuenta una serie de archivos, como "src/main/resources/jdbc.properties", "src/main/webapp/WEB-INF/applicationContext-hibernate.xml" o "src/main/resources/import.sql".
En "applicationContext-hibernate.xml" le inidicamos los archivos de mapeo. Los mapeos pueden provenir de distintos lugares o proyectos. En este proyecto vemos como unos vienen de un paquete y otros.. (MP3).
Como he dicho, "src/main/webapp/WEB-INF/applicationContext-hibernate.xml" arranca con la aplicación, y genera el "dataSource" y el "sessionFactory".
Es Spring el que se encarga de crearlos.
El problema del MVC se soluciona mediante anotaciones. Para el controlador "@Controller". Por cada petición web, hay que poner una anotación "@RequestMapping("/libros.html")", al que le sigue un método public String solicitud(ModelMap model){}, que devuelve una lista (en este caso de libros).
Spring MVC también proporciona una serie de tags de librerías, que se encuentran en "taglibs.jsp":
<%@ taglib uri="http://www.springmodules.org/tags/commons-validator" prefix="v" %> <%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
También tenemos un escuchador/listener que se encarga de leer la configuración de Spring, es decir, arranca el SpringFramework (se encuentra en el "web.xml"):
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Hay que indicar el lugar donde se van a encontrar los controladores, así como la forma de inyección de recursos. Ambos se harán mediante anotaciones:
<!-- Activates mapping of @Controller -->
<context:component-scan base-package="eticom.libreria.web"/>
<!-- Activates @Autowired for Controllers -->
<context:annotation-config/>
--------------------
Vamos a poner esto en práctica en el proyecto "eticom-libreria-web".
No hay comentarios:
Publicar un comentario