Spring MVC ... primer ejemplo (REST)

Para este ejemplo crearemos una base de datos (yo uso postgresql) llamada proyecto, agregaremos una tabla usuario con los siguientes campos: id, nombre, password, logeado y area.

 

Ahora agregaremos unos datos:
 

Una vez creado la base de datos y su correspondiente tabla nos enfocaremos a crear el ejemplo con Spring MVC.

¿Qués es lo que ncesitaremos?

  1. Archivo: build.gradle , para configurar las dependencias necesarias
  2. Archivo: application.properties, para configurar el acceso a la BD,entre otras cosas
  3. Dentro del paquete controller: UsuarioRestController.java y MainController.java
  4. Dentro del paquete config: WebSecurityConfig.java y MvcConfig.java
  5. Dentro del paquete entity: Usuario.java
  6. Dentro del paquete repository: UsuarioRepository.java
  7. Dentro del paquete service: UsuarioService.java y UsuarioServiceImpl.java
  8. Dentro de la subcarpeta src/main/resouces/templates: test_template.html , home.html , login.html y hello.html
  9. Dentro de la carpeta src/main/resources/static/js el archivo *.js: datatable.js (https://datatables.net/)

Comencemos

Este archivo nos servirá para configurar las dependencias necesarias pra nuestro proyecto (acceso a web, security, bases de datos, en este caso postgresql, etc.)

build.gradle
 

Este archivo se usará para configurar el acceso a la base de datos en postgresql, indicar el uso de las plantillas Thymeleaf.
application.properties
 

No debemos olvidar las clases principales del programa: Application.java y ServletInitializer.java
ServletInitializer.java
 

Application.java
 

Nuestro @Controller principal.
MainController.java.java
 

El @RestController de la aplicación.
UsuarioRestController.java
 

El @Configuration de seguridad, donde indicamos el usuario y clave de acceso (root/123)
WebSecurityConfig.java
 

El @Configuration de vistas home -> login -> hello.
MvcConfig.java
 

La clase Entidad que servirá para enlazar los datos de la tabla 'usuario'.

Usuario.java
 

El @Repository, para hacer uso de los métodos necesarios para manipular los datos.
UsuarioRepository.java
 

La interface que nos permite crear métodos para obtener los registros de la tabla 'usuario'.
UsuarioService.java
 

Esta clase nos permitirá descoplar el código.
UsuarioServiceImpl.java
 

Ahora pasemos a los templates o vistas.

Página de bienvenida.
home.html
 

Página de login (root/123) para acceder la vista hello.
login.html
 

La página hello.html nos permitirá acceder a nuestro ejemplo.
hello.html
 

Esta página muestra una tabla con los datos de los usuarios registrados en la tabal 'usuario'.
test_template.html
 

Este archivo *.js nos permite recoger los datos del JSON creado y desplegarlo en una tabla html
datatable.js
 

Construir:
 
Ejecutar:
 
Visualizar:
http://localhost:8080
Saldrá la página de bienvenida, debes dar clic en el enlace y aparecerá el formulario, introduce el usuario (root) y clave (123). Al acceder debes dar clic en el enlace y ver el resultado.