¿Qué es Spring Boot?

Spring Boot es una de las tecnologías dentro del mundo de Spring de las que más se esta hablando últimamente.¿Qué es y como funciona Spring Boot? . Para entender el concepto primero debemos reflexionar sobre como construimos aplicaciones con Spring Framework .

Spring Boot Introduccion

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.

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.

Spring Boot Asistente

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 y nos descargará un proyecto Maven en formato zip . Descomprimimos el proyecto y este es su contenido.

Spring Boot Estructura

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


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 {

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.

SpringBoot Servidor

SpringBoot nos ha simplificado toda la operativa

Otros artículos relacionados:  PropertiesPlaceHolder , SpringConfiguration , Spring MVC

About Cecilio Álvarez Caules

Cecilio Álvarez Caules Sun Certified Enterprise Architech (J2EE/JEE).

22 Responses to ¿Qué es Spring Boot?

  1. Juan F. 8 marzo, 2016 at 17:38 #

    Claro, conciso y muy útil. Gracias.

    • Cecilio Álvarez Caules 8 marzo, 2016 at 18:41 #

      de nada 🙂

  2. pmcastell 9 marzo, 2016 at 12:19 #

    gracias por el post! muy bueno

    • Cecilio Álvarez Caules 9 marzo, 2016 at 15:56 #

      de nada 🙂

  3. David 9 marzo, 2016 at 15:38 #

    Aplausos !! ( no es con vos Cecilio, admiro tu trabajo ) perooo… Grails existe hace unos cuantos años .. y te da, hace años lo que java 8 recien empieza a decir.. bueno.. .

    • Cecilio Álvarez Caules 9 marzo, 2016 at 15:55 #

      Tienes mucha razón David en una parte , Grails aporta muchas cosas y es muy práctico , yo en su momento pensé que se haría un hueco muy grande. Luego la reflexión que he hecho es que al final la gente trabaja con Java ya que es lo que más conoce. Cuesta cambiar de lenguaje … aunque sea un lenguaje tan sencillo como Grails pero a la gente le cuesta 🙂

  4. Kaled Garrido 10 marzo, 2016 at 0:27 #

    Cecilio Álvarez gran articulo!. Una pregunta: Es factible con Spring Boot construir microservicios?. Gracias de antemano.

  5. Jose Zafra 16 marzo, 2016 at 0:56 #

    me iluminó jaja. buen post

    • Cecilio Álvarez Caules 16 marzo, 2016 at 8:16 #

      gracias

  6. Rodrigo 29 abril, 2016 at 19:05 #

    A mi no me entra en la cabeza…que pasa con el servidor? Springboot empaqueta uno en la aplición? como un jar?

    • Cecilio Álvarez Caules 5 mayo, 2016 at 16:56 #

      Si son las nuevas Arquitecturas de MicroServicios habrá que ver como avanza todo

  7. Adrian 28 septiembre, 2016 at 7:12 #

    Es recomendable usar Spring Boot para un proyecto grande o es mejor solo usar Spring.

    • Cecilio Álvarez Caules 28 septiembre, 2016 at 9:39 #

      Se puede usar sin problemas , pero cuando uno empieza un proyecto grande es mejor minimizar los riesgos , si no se conoce una tecnología hay que valorarla con calma 🙂

      • Adrian 30 septiembre, 2016 at 8:42 #

        Excelente respuesta Cecilio Alvarez. Admiro tu blog.

        ¡Saludos!

  8. Juan David Hurtado Gil 6 diciembre, 2016 at 22:03 #

    Hola Cecilio que buen post, tengo una pregunta cual es el servidor web que tiene embebido que tiene el Spring Boot

    • Cecilio Álvarez Caules 7 diciembre, 2016 at 9:24 #

      Tiene un tomcat 🙂

  9. Carol 17 enero, 2017 at 15:40 #

    Informacion muy concreta. muchas gracias

    • Cecilio Álvarez Caules 17 enero, 2017 at 22:35 #

      De nada 🙂

Trackbacks/Pingbacks

  1. Spring Thymeleaf , un motor de plantillas - Arquitectura Java - 11 marzo, 2016

    […] Spring Thymeleaf es el  nuevo motor de plantillas de Spring MVC . Durante muchos años hemos utilizado librerías de etiquetas para gestionar la capa de presentación tipo JSTL  o Spring Forms ,pero el uso de etiquetas aunque potente no resulta del todo natural. Los motores de plantillas siempre han sido una tecnología interesante y se han usado ampliamente soluciones como Velocity o FreeMaker  . Spring Thymeleaf retoma este enfoque y lo potencia. Vamos a ver como configurar este motor de plantillas seleccionando las dependencias con SpringBoot […]

  2. Spring AOP y Aspectos - Arquitectura Java - 15 abril, 2016

    […] ello necesitamos construir una aplicación con Spring Framework , en este caso nos apoyaremos en Spring Boot y seleccionaremos Spring MVC y Spring AOP. El conjunto de componentes a desarrollar es pequeño , […]

  3. Java EE MicroServices con Payara - Arquitectura Java - 14 diciembre, 2016

    […] artículos relacionados : ¿Qué es Spring Boot? , Reactive MicroServices y Arquitectura , ¿Qué es Docker y para qué […]

  4. Mis artículos de Java más leídos en 2016 - Arquitectura Java - 3 enero, 2017

    […] ¿Qué es Spring Boot?: Como siempre la gente de Spring sigue innovando y Spring Boot es una de las herramientas que más interés ha generado en la comunidad. […]

Deja un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies