Spring Boot es una herramienta que hace que desarrollar aplicaciones web y microservicios con el Spring Framrwork sea mas facil y rapido.
Ya hemos hablado mucho de java en este Blog, hoy nos adentraremos a uno de los frameworks mas grandes de java, si no es que el mas grande e importante, el Spring Framework y lo haremos usando Spring Boot.
No vamos a profundizar en temas ya que los iremos viendo poco a poco atravez de una serie de articulos y ejemplo.
Requerimientos
Para usar Spring Boot es necesario tener instalado Java y el Java SDK, en mi caso tengo java 17.
Es necesario saber que version de java tenemos ya que al crear nuestra aplicacion Starter necesitamos especificar que version de java usaremos.
Crear Aplicacion Inicial
Para crear una aplicacion inicial de Spring Boot vamos a ir a la URL https://start.spring.io y se muestrara una ventana como la que tenemos arriba.
Debemos especificar.
- Proyecto: puede ser Gradle Groovy (Java), Gradle Kotlin, o Maven, nosotros vamos a seleccionar Gradle – Groovy
- Version de Spring Boot. Seleccionamos la version 3.0.4 o cualquier version que no sea una SNAPSHOT
- Metadatos del proyectos, son basicos para todo proyecto en Java.
- Grupo
- Artifact
- Name – Nombre del proyecto
- Description – Descripcion del Proyecto
- Package Name, nombre del paquete
- Packaging o empaquetado por lo regular seria JAR
- La version de Java en mi caso es la version 17.
Dependencias
Las dependencias las veremos mas adelante, pero les recomiendo incluir la dependencia Spring Web, que tiene la mayoria de librerias necesarias para servicios web , Spring MVC y mas.
Una vez terminado de configurar el Initializr le damos en el boton de abajo que dice GENERATE.
Nos descargara un archivo .zip con todos los archivos necesarios para el proyecto.
Lo tenemos que descomprimir, de momento no nos vamos a meter a revisar nada mas, ya que lo que queremos es hacer correr el hola mundo en Spring Boot.
Codigo del Hola Mundo
Una vez descargado el archivo y descomprimido, vamos a ir a la siguiente ubicacion.
./artifact/src/main/java/evilnapsis/artifact/
Es una ubicacion relativa del proyecto que creamos, la palabra artifact corresponde a lo que pongamos en el campo Artifact, Evilnapsis corresponde al nombre del Grupo.
Y ahora el archivo TestApplication.java o en el nombre que ustedes le pongan a su Proyecto *.java debe tener el siguiente codigo.
package evilnapsis.test; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; // Esto hay que agregarlo en caso de no usar un IDE import org.springframework.web.bind.annotation.RequestParam; // Esto hay que agregarlo import org.springframework.web.bind.annotation.RestController; // Esto hay que agregarlo @SpringBootApplication // Anotacion para decir que estamos en una SpringBootAplication @RestController // Anotacion para definir el que vamos a usar el RestController public class TestApplication { public static void main(String[] args) { // Funcion main SpringApplication.run(TestApplication.class, args); } @GetMapping("/hola") // Este es una Ruta o URL que cuando la ejecutemos nos va a ejecutar el codigo que contenga public String hola(@RequestParam (value="name" ,defaultValue = "World") String name){ return String.format("Hola, %s!" , name); // Mostrar Hola Mundo } }
En los comentarios les explico algunas cosas, que igual mas adelante veremos a detalle.
Ahora vamos a correr el proyecto.
Nuestro archivo *.zip que descargamos en start.spring.io cuenta con un script llamado gradlew para linux, y para Windows se llama gradlew.bat
Lo que tenemos que hacer es abrir una terminal y ubicarnos en la carpeta donde tengamos el proyecto de Spring, usando los comandos “cd carpeta” etc.
y en la terminal ejecutar,
./gradlew bootRun
Si todo sale bien, Esto ejecutara un servidor Apache Tomcat y nos dira que esta inicializado en el puerto 8080.
Podremos ver el resultado en nuestro navegador, haciendo lo siguiente.
http://127.0.0.1/hola
El resultado seria el siguiente.
Tambien podemos pasar parametros por la URL y obtener un resultado diferente.
http://localhost:8080/hola?name=Agustin
Y el resultado seria el siguiente:
Si todo salio bien ya tenemos nuestra primera aplicacion de Spring Boot.