spring

STS

Spring Tool Suite es un entorno de desarrollo basado en Eclipse que se personaliza para desarrollar aplicaciones Spring. Proporciona un entorno listo para usar para implementar, depurar, ejecutar e implementar sus aplicaciones Spring, incluyendo integraciones para Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven, AspectJ y viene en la parte superior de las últimas versiones de Eclipse.

Ejemplos

  • Creación de tu página personal
  • Creación de tu expediente clínico electronico universal con spring mvc y cassandra
  • Ejemplo de un inventario en Spring MVC
  • Construyendo un RESTful webservice con spring.
  • Aplicación para pre-venta de proveedores en tiendas de conveniencia con Vue para cliente de inventario para la empresa y un cliente en andriod para la venta en tiendas y spring boot como back end.

Spring MVC

Características

Spring MVC implementa dos patrones comunes de diseño: el patrón de diseño del front controller y el patrón de diseño MVC.

Front controller

Un sistema diseñado como controlador frontal expone un solo punto de entrada para todas las solicitudes entrantes. En entornos Web Java, este punto de entrada suele ser un servlet -un servlet único que despacha y delega a otros componentes.En el caso de Spring MVC, este servlet único es el DispatcherServlet.

El patrón de diseño MVC

Describe la aplicación como un todo. Alienta una clara separación de las preocupaciones entre tres capas diferentes que el el hilo de la petición tiene que pasar por: el modelo, la vista y el controlador, el controlador, el modelo y, a continuación, la vista para ser exactos.

Cuando una solicitud de cliente es interceptada por el contenedor de servlets, se enruta a la DispatcherServlet. El DispatcherServlet envía la solicitud a un controlador que tiene una configuración que coincide con el estado de petición (Si se encuentra una coincidencia).

El controlador orquesta la lógica de negocio, la generación del modelo y finalmente elige Una vista para el modelo y la respuesta. En esta perspectiva, el modelo representa una estructura de datos manejada por el controlador y dada a la vista para fines de visualización.

Pero los tres componentes (Modelo, Vista y Controlador) también se pueden visualizar a una escala macro como capas estáticas independientes. Cada uno de estos componentes es una capa y un marcador de posición para cada constituyente individual, parte de la categoría. La capa Controller contiene todos los controladores, así como los Interceptores Web y convertidores; La capa de generación del modelo (y Business Logic layer) contiene los componentes de acceso a datos y servicios empresariales. La vista incluye las plantillas (JSPs por ejemplo) y otros componentes web del lado del cliente.

DispatcherServlet

Como se ha explicado, el DispatcherServlet es una pieza central en Spring MVC. Intercepta el cliente solicita las rutas de acceso URL predefinidas de destino para la aplicación. Se los asigna a manejadores que pertenecen a operadores de lógica de negocio (Controladores, Interceptores, Filtros y en). También proporciona un conjunto de herramientas, disponibles como beans para resolver problemas recurrentes de desarrollo web Cuestiones y técnicas tales como servir una capa de vista centralizada y modular, internacionalización, temas, entrega de excepciones, etc.

Antes de todo, el DispatcherServlet es un servlet y se define como tal en el archivo web.xml con una configuración de servlet y su servlet-mapping. El código es el siguiente:

 
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
 
 
 

Controladores definidos por anotación

Los controladores MVC de Spring son el lugar donde las solicitudes de los clientes realmente comienzan a ser código específico del negocio.Por lo que no tenemos que declararlos explícitamente como beans en la configuración. Esto hace que la implementación sea mucho más fácil de ampliar y entender.

@Controller

Una anotación @Controller marca una clase como un controlador Web. Sigue siendo un estereotipo de spring para capas de presentación. El propósito principal de definir un estereotipo de spring es hacer que un objetivo Tipo o método detectable durante el escaneo de clase de spring que es activado por con el siguiente comando:

  <context:component-scan
		base-package="com.tutosoftware.testmarket" />
  

No hay mucha lógica personalizada relacionada con esta anotación. Podríamos ejecutar un Controlador con otras anotaciones de estereotipos (@Component o @Service) si no nos molestamos en hacer una aplicación un lugar más limpio.

@RequestMapping

Las anotaciones @RequestMapping definen a los manejadores en las clases Controller y / o en Controladores. Estas anotaciones se buscan entre las clases estereotipadas por la DispatcherServlet. La idea principal detrás de las anotaciones de @RequestMapping es Definir una asignación de ruta primaria en el nivel de clase y restringir los métodos de solicitud HTTP, Encabezados, parámetros y tipos de medios en los métodos.

Para implementar este estrechamiento, la anotación @RequestMapping acepta separación por comas parámetros entre paréntesis.Considerar el siguiente ejemplo:

 
  @RequestMapping(value="/servidor", method=RequestMethod.GET)
  
  
Los parámetros disponibles para @RequestMapping se resumen en la siguiente tabla: