Spring Framework

¿Qué es Spring Framework? ¿Para qué se utiliza? ¿De qué se compone?

¿Qué es Spring Framework? Es un potente software de código abierto para desarrollar aplicaciones Java. La primera versión apareció en 2004 y desde entonces ha ido evolucionando y mejorando, creando nuevos componentes que facilitan la vida a los programadores.

Actualmente este Framework está compuesto por muchas librerías y cada una de ellas está destinada a una finalidad: Bases de datos, Seguridad, Servicios Web, etc. Así estas librerías se engloban en distintos módulos que nombro y resumo a continuación:

Módulos Spring Framework

Spring Data

Proporciona librerías necesarias para trabajar con bases de datos relacionales y no relacionales.

  • Spring Data JDBC
  • Spring Data JPA
  • Spring Data LDAP
  • Spring Data MongoDB
  • Spring Data Redis
  • Spring Data R2DBC
  • Spring Data REST
  • Spring Data for Apache Cassandra
  • Spring Data for Apache Geode
  • Spring Data for Apache Solr
  • Spring Data for Pivotal GemFire
  • Spring Data Couchbase
  • Spring Data Elasticsearch
  • Spring Data Envers
  • Spring Data Neo4j
  • Spring Data JDBC Extensions
  • Spring for Apache Hadoop

Spring Web Services

Proporciona librerías para servicios web SOAP

Spring Security

Ofrece librerías que facilitan la seguridad en aplicaciones Spring, en relación a controles de acceso y autenticación.

  • Spring Security Kerberos
  • Spring Security OAuth
  • Spring Security SAML

Spring Cloud

Facilita el despliegue de aplicaciones Spring en plataformas ubicadas en la nube.

  • Spring Cloud Azure
  • Spring Cloud Alibaba
  • Spring Cloud for Amazon Web Services
  • Spring Cloud Bus
  • Spring Cloud Circuit Breaker
  • Spring Cloud CLI
  • Spring Cloud for Cloud Foundry
  • Spring Cloud – Cloud Foundry Service Broker
  • Spring Cloud Cluster
  • Spring Cloud Commons
  • Spring Cloud Config
  • Spring Cloud Connectors
  • Spring Cloud Consul
  • Spring Cloud Contract
  • Spring Cloud Function
  • Spring Cloud Gateway
  • Spring Cloud GCP
  • Spring Cloud Kubernetes
  • Spring Cloud Netflix
  • Spring Cloud Open Service Broker
  • Spring Cloud OpenFeign
  • Spring Cloud Pipelines
  • Spring Cloud Schema Registry
  • Spring Cloud Security
  • Spring Cloud Skipper
  • Spring Cloud Sleuth
  • Spring Cloud Stream
  • Spring Cloud Stream App Starters
  • Spring Cloud Stream Applications
  • Spring Cloud Task
  • Spring Cloud Task App Starters
  • Spring Cloud Vault
  • Spring Cloud Zookeeper
  • Spring Cloud App Broker

Spring Cloud Data Flow

Permite el procesar datos en tiempo real (streaming) o en batch (tareas programadas), a través de microservicios en una plataforma cloud, como puede ser kubernetes.

Spring Batch

Se utiliza para automatizar tareas batch. Estas tareas normalmente s ejecutan en horaríos nocturnos y donde se manejan grandes cantidades de datos.

Spring GraphQL

Proporciona soporte para aplicaciones Spring creadas en GraphQL Java.

Spring Session

Facilita la administración de sesiones en aplicaciones web.

  • Spring Session Core
  • Spring Session Data Redis
  • Spring Session JDBC
  • Spring Session Hazelcast
  • Spring Session MongoDB
  • Spring Session for Apache Geode

Spring Integration

Plataforma de integración que ayuda a integrar aplicaciones independientes.

Spring HATEOAS

Las siglas HATEOAS significa Hypermedia as the Engine of Application State. Mejora la usabilidad en aplicaciones API REST.

Spring REST Docs

Ayuda a generar documentación de nuestras APIS de forma actualizada.

Spring AMQP

Proporciona librerías que facilitan la administración de recursos AMQP (Advanced Message Queuing Protocol) al mismo tiempo que promueven el uso de la inyección de dependencias y la configuración declarativa.

Spring CredHub

Proporciona soporte del lado del cliente para almacenar, recuperar y eliminar credenciales de un servidor.

Spring Flo

Librería Javascript que ofrece un herramienta visual en HTML5 para construir pipelines y gráficos.

Spring for Apache Kafka

Permite seguir el modelo Spring para el desarrollo de soluciones de mensajería basadas en Kafka.

Spring LDAP

Biblioteca que simplifica la programación LDAP en Java, construida sobre los mismos principios que Spring Jdbc.

Spring Roo

Herramienta de desarrollo rápido de aplicaciones de próxima generación para desarrolladores de Java. Con Roo puede crear fácilmente aplicaciones Java completas en minutos.

Spring Shell

Herramienta para desarrollar programas en línea de comandos.

Spring Statemachine

Marco para que los desarrolladores de aplicaciones usen conceptos de máquina de estado con aplicaciones Spring.

Spring Vault

Permite a las aplicaciones acceder de forma transparente a los secretos almacenados en las instancias de Google Vault. Las contraseñas, las claves de API y los datos confidenciales son considerados secretos.

Spring Web Flow

Se basa en Spring MVC y permite implementar los «flujos» de una aplicación web. Un flujo encapsula una secuencia de pasos que guían al usuario a través de la ejecución de alguna tarea empresarial.

Uso de Spring Boot

Para la utilización de estos módulos es muy recomendable la utilización de Spring Boot. Puede conocer más en el tutorial Crear aplicación web con Spring Boot REST JPA y MySQL.

spring boot mysql
Comparte si te ha gustado. Así me ayudas y motivas a mantener esta web. ¡Muchas gracias!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *