Big Picture of Spring Framework
Flexible and modular Architecture with No restrictions e.g.segregated web, business and data layer. No restrictions as i can still use struts or hibernate or any other framework while using spring. or it provides AOP module but i am free to integrate with AspectJ for more features which is a AOP framework
Design — Very loosely coupled and spring defacto promotes loose coupling. This helps in ease of unit testing or even creating autonomous services.
Code — Easy to unit Test
Features — Dependency injection, IOC (bean factory and Application context) container, auto wiring, component scan
Spring modules : Spring is modular framework having core container, data layer, web layer and many other modular frameworks
Spring projects: Spring provides spring projects for specific needs like spring boot, spring cloud, spring Data, Spring Integration, Spring batch, spring security, spring HATEOAS and many other spring Projects.
Spring Modules
Core container: Beans, Core, Context, SpEL
Data Access/Integation Layer: JDBC, ORM, OXM, JMS, Transactions
Web: Websocket, Servlet, Web, Portlet
Other: AOP, Aspects, Instrumentation, Messaging, Test
Note: All these modules share the same version of spring framework
https://medium.com/@abhishekjunnarkar/spring-overview-e4a2cd896aea