Crear una aplicación web con Spring Boot

En este tutorial aprenderás a instalar Spring Boot y crear una aplicación web con Spring Boot desde cero. El proyecto estará basado en servicios web REST (o comúnmente microservicios).

¿Qué es Spring Boot? Es un framework o herramienta que ayuda a construir aplicaciones basadas principalmente en microservicios de una forma más ágil.

Instalar Spring Boot

Existen dos maneras:

  • Instalado Spring Boot Starter (que es un Eclipse con Spring Boot integrado). Se puede descargar desde su página oficial: https://spring.io/tools.
  • Accediendo a la página https://start.spring.io y generando el proyecto para descargarlo en tu PC.
  • Instalando Spring Tools Suite en Eclipse (Se instala desde Eclipse, como un plugin).

Yo, en este caso optaré por la tercera opción e instalaré Spring Tools Suite en Eclipse, con java JDK 8. Para ello:

Abre Eclipse, dirígete a Help -> Eclipse Marketplace…

Introduce «sts» en el cuadro de texto para realizar la búsqueda y presiona Enter.

Visualiza la opción Spring Tools 4 – for Spring Boot (aka Spring Tool Suite 4). Pulsa sobre el botón Install.

install-spring-boot
Instalar Spring Boot en Eclipse

La instalación tardará unos minutos y Eclipse te pedirá que lo reinicies.

Un vez reiniciado Eclipse observa que aparece un nuevo botón (Boot Dashboard) en la barra de menú superior.

Crear proyecto

Dirígete a File -> New -> Project y elige Spring Boot -> Spring Boot Starter. Presiona Next.

A continuación, completa los datos para el proyecto y presiona Next:

new-spring-boot-project
Crear un proyecto Spring Boot

A continuación, activa las casillas Spring Web Services y Spring Web Starter. Pulsa Finish:

spring-boot-dependencies-Crear aplicación web con Spring Boot
Según las casillas que activemos, se crearán sus dependencias en el fichero pom.xml.

Observa que no hay ningún error a la hora de la creación del proyecto. Prueba una ejecución de la aplicación (ejecutando el proyecto como Spring Boot App) y observando una salida por consola como la siguiente:

Crear aplicación web con Spring Boot

Picar los servicios

En mi caso he creado un servicio que devuelve una lista de usuarios.

UserServiceRest.java

En esta clase lo importante son las anotaciones que hemos añadido y de forma sencilla para que entendáis que significa cada una os explico:

@RestController -> Indica que será una clase que va a publicar servicios REST.
@RequestMapping(value="/users", method=RequestMethod.GET) -> se indica el nombre del método accesible desde el navegador. En este caso users. Y también se indica el tipo de método, en este caso de tipo GET.

Código de la clase UserServiceRest.java:

package es.springboot.rosamarfil.services;
import java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import es.springboot.rosamarfil.model.User;


@RestController
public class UserServiceRest {
	
	/**
	* Lista de ejemplo de usuarios
	*/
	private static List<User> listaUsuarios = new ArrayList<User>() {
		{
			add(new User("Rosa", "Marfil"));
			add(new User("Pepito", "Grillo"));
			add(new User("Manuela", "Lago"));
		}
	};
	
	@RequestMapping(value="/users", method=RequestMethod.GET)
    public List<User>  getUsers(){
        return listaUsuarios;
    }
}

User.java

package es.springboot.rosamarfil.model;

import java.io.Serializable;

public class User implements Serializable {

	private static final long serialVersionUID = 1L;

	public String name;

	public String username;

	public User() {
		super();
	}
	
	public User(String name, String username) {
		super();
		this.name = name;
		this.username = username;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}

Probar servicio REST

Después de picar el escueto código, arranca tu aplicación Spring Boot y muestra el resultado en el navegador introduciendo en la barra de direcciones: http://localhost:8080/users

El resultado será:

Crear aplicación web con Spring Boot

Como ves, con este pequeño tutorial has aprendido a crear una aplicación web con Spring Boot y publicar en local un servicio REST.

Evidentemente, un proyecto real tendría muchas más capas y sería más complejo, pero el concepto de Web Services REST con Spring Boot es el que te he explicado.

Espero que te haya sido de utilidad. Gracias por leerme y comparte si te ha gustado. Nos vemos en el próximo tutorial.

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *