When the Enterprise Edition of Java first came out, it was meant to be the primary choice in large scale application development. Developers might remember it was more like a nightmare. J2EE inspired creators of many frameworks as alternatives to some parts of the Java Enterprise Edition. One of these alternatives was a bean container called Spring Framework.
Nowadays Spring Framework is the most popular technology stack in the Java ecosystem. Started many years ago as an Inversion of Control container it has become a complex solution for even cloud-based projects.
When starting a new project from scratch one can hardly avoid using at least some of the services Spring can provide: MVC or reactive web components for building portlets or web services, Boot, Spring Integration, Spring Data, Cloud Gateway together with Eureka, or many other solutions the framework and related projects provide.
Being backed by SpringSource and Pivotal, the framework is one of the most reliable open source software available.
Together with Struts and Hibernate they are the "Trinity" of the lightweight enterprise stack, free and open source. Many of our solutions have been built on these technologies, not just for the ease of use and convenience they provided, but to save time in development and in maintenance as well.
A recent project built on Spring Boot stack for our client, Hellmann Worldwide Logistics required an application for managing sales activities and commission calculation. The application provides services for approximately 1000 users to access tens of millions of transactions of shipments between several thousand locations per year. The application uses microservice architecture, both traditional and reactive web services, Oracle and Elasticsearch data sources, pluggable caching, deployed to Docker Swarm in Amazon EC2.
Due to the complex business logic and the heterogeneous environment, only Java could provide us with both the flexibility and performance by using both the OOP and reactive programming paradigms. The integration with all the components was achieved by simply using the Spring Boot framework that supports all the components out of the box, built on industrial standards, which enabled us to achieve the business goals with ease.