Ejemplo aplicación MVC con Spring Boot usando NetBeans 9
En una entrada anterior explique como instalar NetBeans 9, añadiendole el plugin para usar Spring Boot.
Ahora vamos a crear nuestro primer proyecto en este entorno.
Pulsaremos New Project, lo cual nos mostrara una pantalla como la siguiente.
y en el campo Filter pondremos _spring, _ para después eligir Spring Boot Inititilizr project. Pulsaremos Next y nos pedirá una serie de datos sobre nuestro proyecto. Para este ejemplo podemos dejar los campos como aparecen por defecto.
Pulsamos siguiente (Next) y ahora debemos especificar de que tipo es nuestro proyecto:
Como se ve hay muchas opciones, nosotros solo marcaremos la casilla WEB, porque va a ser una aplicación WEB y Thymeleaf, porque es el motor de plantillas (Template Engines) que vamos a usar. Thymeleaf es un sustituto o evolución de JSP con diferentes mejoras y que se integra perfectamente con Spring. Su pagina web es: https://www.thymeleaf.org/ y tenéis una buena documentación. De todos modos, en este ejemplo solo usaremos código HTML sin poner código en nuestras plantillas.
Volveremos a pulsar Next, para, en el ultimo paso poner el nombre de nuestro provecto
Pulsaremos **Finish ** y esperaremos a que Maven baje los paquetes necesarios y configure el entorno de trabajo.
Ahora vamos a crear un par de paginas web. La primera sera index.html, la otra sera otrapagina.html. Esas paginas las debemos crear en OtherResources src/main/resources templates, como se ve en la siguiente imagen:
Los ficheros creados son tipo HTML.
Los Ficheros quedaran así
index.html
otrapagina.html
Ahora mismo ya podríamos ejecutar nuestra aplicación, y veríamos nuestro index.html, pero vamos a crear el controlador para que se pueda mostrar la pagina otrapagina.html. Para ello, en Source Packages, dentro del paquete com.example.demo crearemos un nuevo fichero java al que llamaremos Controlador.java
En este fichero tendremos lo siguiente:
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class Controlador {
@GetMapping("otra")
public String login()
{
return "otrapagina";
}
}
Esta clase marcada con @Controller, tendrá una única función que tiene la etiqueta @GetMapping. El parámetro de esa etiqueta sera la URL o página que debe tratar la función que tenemos debajo.
Es decir, que cuando nosotros pongamos en nuestro navegador:
http://localhost:8080/otra
Spring ejecutara lo que haya en la función login().
Si quisiéramos tener mas paginas simplemente añadiremos más funciones, con la etiqueta @GetMapping(“PAGINA QUE NOS DE LA GANA”)
Terminar, comentando que el String devuelto por nuestra función es la pagina web (el fichero) creado bajo el directorio templates (sin la extensión html). Resumiendo, en este ejemplo, al ir a:
http://localhost:8080/otra
Spring parseara el fichero otrapagina.html y devolverá la pagina HTML creada por el.
Y con esto, ya hemos creado nuestra primera pagina web con Spring 😉
Terminar diciendo que el código fuente de este proyecto lo tenéis en mi repositorio de GITHUB.