14 de marzo de 2020

Spring Boot - ¿Qué es?

Siguiendo el ejemplo de la entrada anterior, inicialmente nos hicimos un proyecto Spring utilizando Spring Initialzr, pero después nos centramos en construir nuestro contenedor de dependencias básico. Para ello comentamos la anotación @SpringBootApplication y ejecutamos nuestra aplicación de una forma más antigua, sin usar la línea que nos venía por defecto SpringApplication.run(DatosdeportivosapiApplication.class, args);. Quitamos esas líneas porque esos dos tipos pertenecen a Spring Boot.

También añadimos una configuración por XML para activar el escaneo de componentes, hay más configuraciones que se pueden añadir de la misma forma y muchas se han mostrado repetitivas para la mayoría de proyectos. Se trata de un código boilerplate que podemos evitar con la ayuda de Spring Boot.

Spring Boot va a proporcionarnos un proyecto Spring con ciertas decisiones de configuración ya adoptadas que nos hará la vida más cómoda añadiendo varias anotaciones extras, entre otras cosas y que nos proporcionará las siguientes ventajas:
  1. Crear aplicaciones autónomas
  2. Proporcionarnos nuestro servidor de aplicaciones embebido (no WAR)
  3. Proveer de potentes librerías de terceros ya integradas y compatibles (no lidiar con problemas de versionado entre dependencias)
  4. Características como métricas, monitorización y configuración externalizada
  5. No hace falta configuraciones XML
El código final del ejemplo anterior quedaría resumido en:
@SpringBootApplication
@ImportResource("config.xml")
public class DatosdeportivosapiApplication {

  public static void main(String[] args) {
    ConfigurableApplicationContext context =
            SpringApplication.run(DatosdeportivosapiApplication.class, args);

    Test test;
    
//    test = context.getBean(Test.class);
//    test = context.getBean("test", Test.class);
//    test = context.getBean("anotacion", Test.class);
    test = context.getBean("config", Test.class);
    test.init();
    System.out.println(test.getClass().getName());
    
    context.close();
  }
}
Fijarse que ni siquiera es necesario tener el fichero "config-scan.xml" que usábamos para activar el escaneo de componentes, ni otras configuraciones que todavía no nos han hecho falta.

NOTA: Por ejemplo, las anotaciones están deshabilitadas por defecto, para habilitarlas habrá que añadir la línea <context:annotation-config /> a nuestra configuración (applicationContext.xml) junto con los paquetes que hay que escanear. Es habitual usar Spring Boot en vez de simplemente Spring pues Spring Boot trae las típicas configuraciones añadidas para facilitarnos la vida y una de ellas es esta.

En éste vídeo se ven otras anotaciones útiles al mismo nivel que @ImportResource explicando cómo usarlas en nuestro ejemplo.


El código hasta el punto actual se puede encontrar en su repositorio. En la siguiente entrada vamos a ver cómo añadir propiedades (clave = valor) y usarlas dentro de nuestro código en ejecución.

No hay comentarios:

Publicar un comentario

Compárteme

Entradas populares