As you can see in the diagram below, Spring Framework architecture is an arranged layered architecture which consists of different modules. All the modules have their own functionalities that are utilized to build an application. There are around 20 modules which are generalized into Core Container, Data Access/ Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, and Test. Here, developer is free to choose the required module. It's modular architecture enables integration with other frameworks without much hassle.
Let's now explore these modules in details. I will start with the Core Container on which rest of the modules are constructed, then I'll talk about Data Access followed by Web and AOP. Finally, I will discuss on some of the miscellaneous modules.