Spring Framework explicado en 5 minutos o menos

Publicado: 2022-12-28

Spring Framework es un poderoso marco de desarrollo de aplicaciones Java de código abierto que facilita la creación de aplicaciones sólidas y de alto rendimiento.

El código abierto se refiere a algo a lo que las personas pueden acceder, modificar y compartir libremente, ya que el código fuente está disponible gratuitamente.

Un marco de aplicación de código abierto es una plantilla para el desarrollo de software creada por un grupo de desarrolladores de software. Existen diferentes tipos de plantillas que se utilizan para diferentes propósitos, como la creación de interfaces de usuario, sitios web y aplicaciones de software básicas.

Si es nuevo en el desarrollo de aplicaciones, comenzar con Spring Framework puede ser un gran comienzo para usted. En este artículo, aprenderá qué es y cómo usarlo.

¿Qué es Spring Framework?

Qué-es-Spring-Framework

Spring Framework es un marco de código abierto que los desarrolladores utilizan para crear aplicaciones Java empresariales. Este marco fue creado por Rod Johnson y lanzado en 2003 bajo la licencia Apache 2.0.

Algunos programadores suelen criticar Java y afirman que es engorroso crear aplicaciones básicas. Spring Framework tiene como objetivo simplificar el engorroso y complejo proceso de desarrollo de aplicaciones Java empresariales.

La primavera es ancha. Por lo tanto, es recomendable que primero comprenda qué es Spring Framework antes de comenzar a usar otros proyectos basados ​​en Spring, como Spring Boot, Spring GraphQL y Spring Cloud.

¿Por qué usar Spring Framework?

  • flexibles Este marco ofrece tecnologías como la programación orientada a aspectos (AOP), la inyección de dependencia (DI) y Plain Old Java Object (POJO). Por lo tanto, puede usar Spring para lograr diferentes objetivos.
  • La primavera es rápida . A pesar de tener todas estas tecnologías, Spring Framework sigue siendo liviano, lo que lo hace ideal para crear aplicaciones web empresariales robustas y escalables.
  • Impresionante comunidad . Spring tiene una comunidad diversa, y puede confiar en ella para ayudar con varias soluciones en su hora de necesidad.
  • seguro Spring es conocido por sus medidas de seguridad y las vulnerabilidades siempre se solucionan mediante parches frecuentes. Las dependencias de terceros siempre se supervisan para garantizar que sus vulnerabilidades no interfieran con el proceso principal.
  • Productivo Spring Framework agiliza la experiencia de desarrollar aplicaciones empresariales Java.

Características de los resortes

Soporta programación orientada a aspectos

La programación orientada a aspectos proporciona más modularidad a las preocupaciones transversales. AOP también complementa la programación orientada a objetos.

La unidad principal de modularidad en AOP es una preocupación transversal (Aspecto). Los desarrolladores pueden así crear servicios empresariales declarativos y aspectos personalizados.

Contenedor de inversión de control (IoC)

El contenedor IoC ofrece una forma simplificada de administrar y configurar objetos Java. Este contenedor gestiona el ciclo de vida de un objeto Java definido, lo que aumenta significativamente la capacidad de reconfiguración de una aplicación basada en Spring.

Inversion of Control utiliza patrones de búsqueda de dependencia o inyección de dependencia para ofrecer el tiempo de ejecución de referencia de objeto. El contenedor IoC viene con el código ensamblador necesario para la gestión de la configuración.

Marco de acceso a datos

El proceso de comunicación de datos se simplifica ya que Spring tiene soporte directo para Hibernate, JDBC y Java Persistence API (JPA), algunos de los marcos de acceso a datos más populares en Java. También puede confiar en este marco para ofrecer funciones como el ajuste de recursos, el manejo de excepciones y la administración de recursos para todos los marcos de acceso a datos admitidos.

Marco Spring MVC

Los desarrolladores pueden usar este marco basado en solicitudes para crear implementaciones de MVC personalizadas que se adapten a sus necesidades.

La clase DispatcherServlet, encargada de manejar las solicitudes de los usuarios y luego reenviarlas al controlador correcto, se encuentra en el núcleo de Spring MVC. El controlador puede así procesar una solicitud, crear un modelo y ofrecer información al usuario final a través de una vista específica.

Tiene varios marcos de prueba.

Puede probar sus aplicaciones basadas en Spring a medida que las desarrolla a través de objetos simulados, el marco TestContext o Spring MVC Test.

Ayuda de idioma

Spring framework es compatible con Groovy y Kotlin.

arquitectura de primavera

Spring Framework viene con unos 20 módulos. Lo bueno de este marco es que le permite elegir módulos que son aplicables a su caso de uso. Estos módulos están agrupados en Core Container, AOP (Programación Orientada a Aspectos), Acceso/Integración de Datos, Web, Instrumentación y Prueba.

#1. Contenedor central

El contenedor principal de Spring Framework contiene modelos básicos, de beans, de contexto y de lenguaje de expresión. Estos modelos de lenguaje son útiles de las siguientes maneras;

  • El módulo Core es la parte fundamental del framework. Encontrará características de IoC e Inyección de Dependencia en el Core.
  • El módulo Bean es conocido por BeanFactory, una implementación sofisticada del patrón de fábrica.
  • El módulo Contexto se basa en los módulos Core y Bean. Este módulo hereda sus características del módulo Bean pero agrega soporte para la internacionalización.
  • El módulo Expression Language ofrece un poderoso lenguaje de expresión para manipular y consultar un gráfico de objetos en tiempo de ejecución.

#2. Acceso/Integración de datos

Los módulos JDBC, ORM, OXM, JMS y Transaction conforman la capa de acceso/integración de datos. Estos módulos realizan lo siguiente;

  • El módulo JDBC tiene una capa de abstracción JBDC que elimina la necesidad de realizar la tediosa codificación JDBC, así como el análisis de códigos de error específicos del proveedor de la base de datos.
  • El ORM es una capa de integración para algunas de las API populares de mapeo relacional de objetos, como JPA, JDO, Hibernate e iBatis. '
  • El módulo OXM es una capa de abstracción que admite implementaciones de mapeo Object/XML para XStream, JAXB, JiBX, Castor y XMLBeans.
  • El módulo Transaction admite la gestión de transacciones declarativas y programáticas para clases que implementan interfaces especiales.
  • El módulo Java Messaging Service (JMS) tiene características que producen y consumen mensajes.

#3. AOP (Programación Orientada a Aspectos) e Instrumentación

Este módulo viene con una implementación de programación orientada a aspectos compatible con AOP Alliance, lo que facilita la definición de cosas como los interceptores de métodos. Por otro lado, el módulo de Instrumentación ofrece soporte para cargador de clases e instrumentación de clases para ser utilizado en ciertos servidores de aplicaciones.

#4. Web

Los módulos Web, Web-Servlet, Web-Struts y Web-Portlet conforman la capa Web.

  • El módulo web es responsable de las funciones básicas de integración orientadas a la web, como la funcionalidad de carga de archivos de varias partes.
  • El módulo Web-Servlet presenta la implementación MVC de Spring para aplicaciones web.
  • El módulo Web-Portlet refleja la funcionalidad del módulo Web-Servlet. El módulo Web-Portlet ofrece la implementación de MVC para ser utilizado en un entorno de portlet.
  • El módulo Web-Socket admite la comunicación bidireccional entre el servidor y el cliente en aplicaciones web.

#5. Prueba

El módulo Test es la última parte de la arquitectura de Spring. Es el módulo que soporta la prueba de componentes Spring con TestNG o JUnit.

Instalar Spring Framework

Comprueba que Java está instalado

Antes de aprender cómo funciona Spring Framework, debemos instalar Spring en nuestra PC. La documentación de Spring tiene amplios recursos sobre cómo comenzar, según su sistema operativo.

Para nuestro caso utilizaremos Ubuntu 20.04.5, un sistema operativo basado en Linux.

Antes de instalar Spring, asegúrese de tener Java instalado usando este comando

 java -version

Si tiene instalado Java, tendrá un resultado similar a esta captura de pantalla.

Si no lo tiene en su PC, existen varios enfoques para instalar Java según sus necesidades.

Instalar marco de primavera

Hay varios enfoques para instalar Spring Framework, como se destaca en los documentos de Spring.

Para nuestro caso, utilizaremos GVM (Groovy Environment Manager). Puede obtener GVM usando GVMtool o instalarlo en la línea de comandos.

Una vez que tenga GVM, use los siguientes comandos para instalar y verificar si Spring Framework está instalado

 gvm install springboot
 spring --version

Es probable que obtenga una salida similar a esta si Spring está instalado

Términos importantes asociados con el marco Spring

Inyección de dependencia

La inyección de dependencia es una función que permite a los desarrolladores crear objetos independientes fuera de la clase. DI también permite a los usuarios proporcionar esos objetos a una clase de diferentes maneras.

Inversión de Control (IoC)

IoC es un concepto que transfiere el control de partes de un programa u objetos a un marco o contenedor. En la programación tradicional, nuestro código personalizado realiza llamadas a una biblioteca. Por otro lado, IoC permite que un framework (Spring en este caso) haga llamadas a nuestro código personalizado y controle el flujo del programa.

Programación Orientada a Aspectos (AOP)

AOP es una técnica para construir rutinas comunes y reutilizables que se pueden aplicar en toda la aplicación. Tal enfoque separa las tareas repetibles (como validación de entrada, registro y manejo de errores) de la lógica de la aplicación principal.

Recursos de aprendizaje de Spring Framework

#1. Programación reactiva con Spring Framework 5

Programación-reactiva-con-Spring-Framework-5

Este curso de primavera se compone de videos, artículos y recursos descargables. El curso enseña programación funcional con Java, cómo microservicios con Spring WebFlux y cómo aprovechar los tipos reactivos en Spring Data MongoDB.

#2. Clase magistral de Spring Framework

Spring-Framework-Master-Class

Spring Framework Master Class es un curso pago que enseña la forma real en que los proyectos Java usan Spring Framework. Aprenderá a usar varias herramientas como Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP e Hibernate.

#3. Spring Framework en sencillos pasos

Spring-Framework-en-sencillos pasos

Spring Framework In Easy Steps es un curso premium ideal para tomar si desea crear aplicaciones web Java EE de extremo a extremo utilizando Spring Framework. Algunas de las cosas que aprenderá son cómo desarrollar aplicaciones web usando Spring MVC, cómo hacer Ajax Call usando JQuery y Spring MVC, y cómo usar Spring JDBC para realizar operaciones de base de datos, por mencionar algunas.

#4. marco de primavera 5

Primavera-Marco-5

El curso Spring Framework 5 es ideal si desea aprender Learn Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA e Hibernate. Puede contar con las 57 horas de videos a pedido, 13 artículos y una gran cantidad de materiales descargables.

Nota del autor

Java sigue siendo uno de los lenguajes de programación más populares en el mundo moderno. Aunque se están introduciendo nuevos lenguajes, marcos como Spring dan nueva vida a Java y amplían su utilidad. Por lo tanto, es probable que sigamos teniendo demanda de ingenieros de Java, ya que son necesarios para mantener el código heredado y también para crear nuevas aplicaciones.

Conclusión

Spring ocupa un lugar destacado entre los marcos Java EE, y esperamos que ahora comprenda qué es Spring Framework, sus características, arquitectura y proceso de trabajo. Cuando se combina con otros proyectos de Spring, Spring Framework ofrece a los desarrolladores varias herramientas de desarrollo que se pueden usar en diferentes entornos de desarrollo.