- Spring Framework
- The core framework for building enterprise applications.
- Spring Boot
- Simplifies microservices and standalone application development.
- Spring Data
- Provides easy access to database technologies like JPA, MongDB, and Elasticsearch.
- Spring Security
- For securing Spring-based applications.
- Spring Cloud
- Tools for building cloud-based, distributed systems.
- Eclipse IDE(with Spring Tools)
- IDE with Spring Tool Suite plugins for Spring development.
- Intellij IDEA
- Supports Spring development with additional plugins for enhanced Spring configuration.
- Maven
- Dependency management and build tool often used with Spring.
- Gradle
- Modern, flexible build tool, widely adopted for Spring projects.
- JUnit
- The default testing framework for Spring applications.
- Mockito
- For mocking dependencies in Spring tests.
- Testcontainers
- Enables testing with containerized environments.
- Automation Test (Selenium)
- Prometheus
- For collecting and monitoring metrics from Spring applications.
- Grafana
- For visualizing application metrics.
- Spring Boot Actuator
- Provides production-ready features like monitoring and metrics collection.
- Relational Database Management System(DBMS)
- MySQL, Orale, SQL Server, Postgress,...
- NoSQL
- MongoDB, Apache Cassandra, Couchbase, Elasticsearch
- Docker
- For containerizing Spring applications
- Kubernetes
- For orchestrating Spring microservices.
- Guice
- Lightweight dependency inject framework, and alternative to Spring DI.
- AspectJ
- Provides powerful aspect-oriendted programming capablities that integrate well with Spring
- Hibernate
- Popular ORM framework, often used with Spring Data JPA.
- MyBatis
- Flexible SQL mapper framework for database interaction.
- Flyway
- Database migration tool for versioning schema changes.
- Liquibase
- Another database change management tool.
- Keycloak
- Open-source Identity and Access Management (IAM) solution for securing Spring applications.
- Apache Shiro
- General-purpose security framework, supports authentication and authorization.
- Ehcache
- High-performance caching solution for Spring applications.
- Caffeine
- A high-performance caching library, ideal for in-memory caching in Spring.
- Redis
- In-memory data store, commonly used with Spring for caching.
- Apache Kafka
- Distributed event streaming platform for building real-time applications.
- RabbitMQ
- Open-source message broker supporting multiple messaging protocols.
- Axon Framework
- Provides support for event-driven microservices and CQRS in Spring.
- Feign
- Declarative HTTP client, often used with Spring Cloud for microservices communication.
- Retrofit
- Type-safe HTTP client for making API calls in Spring-based applications.
- Apache CXF
- Framework for creating SOAP and RESTful web services.
- Logback
- A flexible logging framework used with Spring Boot.
- ELK Stack (Elasticsearch, Logstash, Kibana)
- For centralized logging and log analysis in Spring applications.
- Zipkin
- Distributed tracing system for monitoring Spring microservices.
- Thymeleaf
- Server-side Java templating engine, integrated with Spring MVC.
- Vaadin or Hilla(a product of Vaadin)
- Framework for building rich web applications in Java, compatible with Spring.
- GraphQL Java
- Library for integrating GraphQL APIs with Spring applications.
- Micrometer
- Metrics instrumentation library, used with Spring Boot Actuator.
- JHipster
- Developer tool to generate Spring Boot and Angular/React/Vue projects.
- Apache Ignite
- In-memory data fabric for high-performance computing.
- Quarkus
- A Kubernetes-native Java framework optimized for fast startup and low memory usage.
- Micronaut
- Lightweight framework for microservices and serverless applications, alternative to Spring Boot.
- Jersey
- RESTful web services framework, part of the Jakarta EE project.
- Play Framework
- Reactive web application framework, supports Java and Scala.
- Apache Zookeeper
- Centralized service for configuration and synchronization, often used with Spring Cloud.
- Consul
- Service mesh and configuration management tool.
- Kong Gateway
- Open-source API gateway and microservices management tool.
- Tyk
- Open-source API management platform with a gateway and dashboard.
- API Umbrella
- Open-source API management platform.
- ActiveMQ
- Open-source message broker for asynchronous communication.
- NATS
- Lightweight messaging system for modern cloud-native applications.
- Pulsar
- Distributed messaging and streaming platform.
- Jaeger
- Distributed tracing platform compatible with Spring Cloud Sleuth.
- OpenTelemetry
- Open standard for observability, supports tracing, metrics, and logs.
- GWT (Google Web Toolkit)
- Framework to build browser-based applications in Java.
- Spring Web Flow
- Extension of Spring MVC for managing conversational state in web apps.
- JSF (JavaServer Faces)
- Component-based framework for building UI for web applications.
- Quartz Scheduler
- Advanced job scheduling system, integrates with Spring.
- Apache Airflow
- Workflow orchestration platform.
- Camunda
- Workflow and decision automation engine, integrates with Spring Boot.
- Weka
- Machine learning library for Java, can be used in Spring-based apps.
- Apache Mahout
- Machine learning library for scalable algorithms.
- TensorFlow Java
- TensorFlow library for running machine learning models in Java.
- Hazelcast
- In-memory data grid and caching platform.
- Apache Cassandra
- NoSQL distributed database, integrates with Spring Data.
- ETCD
- Distributed key-value store for service discovery and configuration.
- Auth0
- Open-source authentication platform, integrates with Spring Security.
- Gluu Server
- Open-source identity and access management solution.
- Object Storage
- MinIO
- Ceph
- Apache Hadoop HDFS
- Time-Series Databases
- InfluxDB
- TimescaleDB
- File Storage Systems
- Apache Hadoop
- GlusterFS
- SeaweedFS
- Backup and Archival Storage
- Apache Archiva
- Zenko
- Cloud-Compatible Storage Solutions
- OpenStack Swift
- Scality RING