43

Qué es y para qué sirve Java Spring Boot

99Puntos

hace 3 años

Java Spring Boot es una de las herramientas principales del ecosistema de desarrollo web backend con Java, y si tienes interés en convertirte en backend web developer con este lenguaje, necesitarás conocerlo y estar al tanto del impacto que está teniendo este proyecto en las aplicaciones con características enterprise, principalmente en arquitecturas basadas en servicios web (REST y SOAP) y microservicios.

Para ello debes comprender todos estos conceptos que nacen a partir de este proyecto que nos provee Spring.

Primero que todo hay que hacer énfasis en que Spring Boot NO es Spring y que este proyecto surge de la necesidad de hacer aplicaciones Java sin tantas complicaciones de configuración y toda problemática que eso conlleva.

Por ello y por muchas razones más nace Spring Boot, que junto a proyectos como Spring framework, Spring Data, Spring Security, Spring Cloud, entre otros, hacen la combinación perfecta para desarrollar, probar y desplegar nuestras aplicaciones en un entorno rápido, eficaz y bastante simple.

Entonces comencemos a conocer más sobre las características y usos de Spring Boot.

Si estás interesado en aprender más sobre este y otros temas relacionados, te sugiero que revises nuestros cursos de desarrollo web.

Facilidad de despliegue con los servidores embebidos

Con Spring Boot nos olvidamos de tener que desplegar artefactos Jar o War de manera independiente en uno o muchos servidores web diferentes. Porque nos provee una serie de contenedores web servlet para que se despliegue nuestra aplicación automáticamente solo con un “Run”.

Así mismo, de estos contenedores web podemos elegir el que nos convenga: Tomcat, Jetty u Undertow porque vienen embebidos como dependencias y simplemente agregamos el que se adapte a nuestras necesidades. Todo esto con el gestor de dependencias que elijamos, bien sea Maven o Gradle, sin tocar un servidor o configurar otro tipo de cosas.

Inversión de control e inyección de dependencias

dependencias-spring.png

En el contexto de Spring tenemos dos conceptos muy importantes: la Inyección de dependencias y la inversión de control. Quizás habrás escuchado estos conceptos si has utilizado Spring y es probable que tuvieras la confusión de para qué sirve una cosa y la otra.

Lo importante a tener en cuenta es que, aunque son conceptos que se relacionan, son distintos. Es decir, la inyección de dependencias es un patrón de diseño como singleton, prototype, builder, observer, etc. Nos permite implementar el principio de inversión de control. ¿Qué significa esto? Que existen otros patrones que pueden implementar la inversión de control, entre ellos tenemos:

  • Factory pattern
  • Strategy design pattern
  • Service locator pattern

Esto es importante a tener en cuenta dado que esta implementación de la inversión de control no nace con Spring, en realidad se puede implementar en cualquier lenguaje y/o framework, pero está muy presente si desarrollas con Spring Boot.

Arquitectura REST en Spring Boot y estereotipos

Spring Boot al hacer parte de toda la arquitectura de Spring puede interactuar con los demás proyectos, entre ellos tenemos Spring Framework, proyecto que nos provee soporte para construir aplicaciones web, principalmente podemos crear nuestras propias API y desplegar nuestros servicios REST para que podamos interactuar con otros servicios. Incluso para que los despleguemos de tal forma que cualquier cliente los consuma, bien sea una aplicación móvil, una aplicación web, o cualquier otro tipo de cliente que pueda conectarse bajo el protocolo HTTP.

Toda esta arquitectura la integramos desde Spring Boot como foco principal, además podemos hacer uso de anotaciones tales como Repository, Service, Component, entre muchas otras que nos permiten desarrollar nuestra aplicación bajo la arquitectura que nos provee el framework de Spring, bien sea para interactuar con bases de datos, crear lógica de negocio o simplemente desarrollar un componente general para todas las capas de la aplicación.


Yo denomino todo esto como un superpoder puesto que tenemos en nuestras manos todo un proyecto que nos permite desarrollar cualquier tipo de aplicativo sin temor al éxito.

En Platzi queremos que toda Latinoamérica sea un semillero de gigantes tecnológicos con los mejores talentos, y una de esas oportunidades es que te conviertas en backend web developer con Java. Por ello te presentamos el Curso de Fundamentos de Spring Boot para que te prepares para todos los retos que vienen en tu vida profesional. En este curso aprenderás conceptos tales como:

  • Inyección de dependencias e inversión de control

  • Implementar tu propia API bajo la arquitectura REST

  • Aprender a construir tu aplicativo con Spring Boot

  • Uso de Query methods para construir consultas SQL.

Además, desarrollarás tu propia API bajo la arquitectura REST utilizando el patrón de inyección de dependencias y construyendo tus propios beans.

Te veo en el curso para que puedas disfrutar de Spring Boot que nace a partir de uno de los lenguajes más populares en el mundo del desarrollo de software, ¡Java!

maikol
maikol
Escribe tu comentario
+ 2
2
1524Puntos

Una excelente entrada para dar luz a las personas que queremos ingresar al mundo del desarrollo con estas herramientas, un saludo!