The modularity of Spring Framework is one of the most important reasons for its widespread used. Spring Framework is highly modular with more than 20 different modules--having clearly defined boundaries.
The following figure shows different Spring modules--organized by the layer of application they are typically used in:
![](https://static.packt-cdn.com/products/9781787123175/graphics/assets/36fbd771-549b-4734-8d96-e306af3b5a43.png)
We will start with discussing the Spring Core Container before moving on to other modules grouped by the application layer they are typically used in.