¿Qué es Spring Boot?
Spring Boot es una de las tecnologías dentro del mundo de Spring de las que más se está
hablando últimamente.¿Qué es y cómo funciona Spring Boot? . Para entender el
concepto primero debemos reflexionar sobre cómo construimos aplicaciones con Spring
Framework.
Fundamentalmente existen tres pasos a realizar . El primero es crear un proyecto
Maven/Gradle y descargar las dependencias necesarias. En segundo lugar desarrollamos la
aplicación y en tercer lugar la desplegamos en un servidor. Si nos ponemos a pensar un
poco a detalle en el tema , únicamente el paso dos es una tarea de desarrollo. Los otros
pasos están más orientados a infraestructura.
www.arquitecturajava.com
¿Qué es Spring Boot?
Spring Boot
SpringBoot nace con la intención de simplificar los pasos 1 y 3 y que nos podamos centrar
en el desarrollo de nuestra aplicación. ¿Cómo funciona?. El enfoque es sencillo y lo
entenderemos realizando un ejemplo. Para ello nos vamos a conectarnos al asistente de
Boot.
www.arquitecturajava.com
¿Qué es Spring Boot?
El asistente es intuitivo , elegimos el package al que queremos que nuestras clases
pertenezcan , elegimos el nombre del proyecto y por último las dependencias. Eso sí ya no
se trata de elegir jar por jar sino que tipo de aplicacion deseamos. En este caso voy a
construir una aplicación Spring MVC y elijo la dependencia web. Pulsamos generar proyecto
www.arquitecturajava.com
¿Qué es Spring Boot?
y nos descargará un proyecto Maven en formato zip . Descomprimimos el proyecto y este es
su contenido.
Una aplicación de Spring con estructura Maven totalmente configurada. El siguiente paso
es usar Maven y escribir en linea de comandos.
mvn eclipse:eclipse
Esto convertirá el proyecto de Maven en un proyecto para Eclipse que podamos abrir con el
editor. Vamos a ver el contenido de la clase HolaSpringBootApplication
www.arquitecturajava.com
¿Qué es Spring Boot?
package com.arquitecturajava;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HolaSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(HolaSpringBootApplication.class, args);
}
}
Esta clase es la encargada de arrancar nuestra aplicación de Spring a diferencia de un
enfoque clásico no hace falta desplegarla en un servidor web ya que Spring Boot provee de
uno. Vamos a modificarla y añadir una anotación.
package com.arquitecturajava;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages="com.arquitecturajava")
public class HolaSpringBootApplication {
www.arquitecturajava.com
¿Qué es Spring Boot?
public static void main(String[] args) {
SpringApplication.run(HolaSpringBootApplication.class, args);
}
}
Recordemos que la anotación @ComponentScan escanea los packages buscando clases que
SpringFramework pueda inyectar. En este caso vamos a construir un controlador de
HolaMundo.
package com.arquitecturajava;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ControladorHola {
@RequestMapping("/")
@ResponseBody
String home() {
return "HolaMundo";
}
}
Es momento de ejecutar nuestra aplicación como una aplicación de consola. Esto abrirá un
servidor web y accederemos a la url.
www.arquitecturajava.com
¿Qué es Spring Boot?
SpringBoot nos ha simplificado toda la operativa
Otros artículos relacionados: PropertiesPlaceHolder , SpringConfiguration , Spring MVC
www.arquitecturajava.com