What is Spring Data and what are its top alternatives?
Top Alternatives to Spring Data
- Hibernate
Hibernate is a suite of open source projects around domain models. The flagship project is Hibernate ORM, the Object Relational Mapper. ...
- Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. ...
- Spring Batch
It is designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. It also provides reusable functions that are essential in processing large volumes of records, including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management. ...
- MyBatis
It is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. It eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. It can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records. ...
- jOOQ
It implements the active record pattern. Its purpose is to be both relational and object oriented by providing a domain-specific language to construct queries from classes generated from a database schema. ...
- Slick
It is a modern database query and access library for Scala. It allows you to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred. ...
- DataGrip
A cross-platform IDE that is aimed at DBAs and developers working with SQL databases. ...
- Microsoft SQL Server Management Studio
It is an integrated environment for managing any SQL infrastructure, from SQL Server to Azure SQL Database. It provides tools to configure, monitor, and administer instances of SQL Server and databases. Use it to deploy, monitor, and upgrade the data-tier components used by your applications, as well as build queries and scripts. ...
Spring Data alternatives & related posts
- Easy ORM17
- Easy transaction definition7
- Is integrated with spring jpa1
- Can't control proxy associations when entity graph used3
related Hibernate posts
Spring Boot
- Powerful and handy136
- Easy setup128
- Java119
- Spring87
- Fast82
- Extensible43
- Lots of "off the shelf" functionalities34
- Cloud Solid29
- Caches well23
- Many receipes around for obscure features21
- Productive21
- Modular20
- Integrations with most other Java frameworks20
- Spring ecosystem is great19
- Auto-configuration18
- Fast Performance With Microservices18
- Community16
- Easy setup, Community Support, Solid for ERP apps14
- One-stop shop13
- Cross-platform12
- Easy to parallelize12
- Easy setup, good for build erp systems, well documented11
- Powerful 3rd party libraries and frameworks11
- Easy setup, Git Integration10
- It's so easier to start a project on spring3
- Kotlin3
- Heavy weight20
- Annotation ceremony17
- Many config files needed10
- Java8
- Reactive5
- Excellent tools for cloud hosting, since 5.x4
related Spring Boot posts






















We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.
To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas
To build #Webapps we decided to use Angular 2 with RxJS
#Devops - GitHub , Travis CI , Terraform , Docker , Serverless
Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.
Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.
- Dd0
related Spring Batch posts
- Easy to use6
- Extensions3
- Integrated with Spring3
- Flexible3
- Data-first support2
- Ok0
related MyBatis posts
- VAADIN1
- Easy dsl1
related jOOQ posts
related Slick posts
- Works on Linux, Windows and MacOS4
- Wide range of DBMS support2
- Code completion1
- Generate ERD1
- Quick-fixes using keyboard shortcuts1
- Code analysis1
- Database introspection on 21 different dbms1
- Export data using a variety of formats using open api1
- Import data1
- Diff viewer1
related DataGrip posts
Microsoft SQL Server Management Studio
related Microsoft SQL Server Management Studio posts
We have a 138 row, 1700 column database likely to grow at least a row and a column every week. We are mostly concerned with how user-friendly the graphical management tools are. I understand MySQL has MySQL WorkBench, and Microsoft SQL Server has Microsoft SQL Server Management Studio. We have about 6 months to migrate our Excel database to one of these DBMS, and continue (hopefully manually) importing excel files from then on. Any tips appreciated!