Spring framework
The Spring framework is a huge framework with several modules. The first version of the framework was released in 2003, and since then, there have been four major releases delivering new and enhanced features. Currently, Spring is the de facto enterprise framework that's used, perhaps more widely than the de jure standard EJB 3.0.
Spring supports dependency injection, Aspect-Oriented Programming (AOP), and persistence for SQL and NoSQL databases in a conventional manner and also the Object Relational Mapping way. It has transactional support, messaging, web programming, and many other features. You can configure it using XML configuration files, annotations, or by using Java classes.
Architecture of Spring
Spring is not monolithic. You can use a part of it, or only some of the features. You can include some of the modules of Spring that you need and leave out others. Some modules depend on some others, and Gradle, Maven, or some other build tool handles the dependencies.
The...