Spring Framework Architecture

Spring is very well organized structure consisting of several modules such as:
Spring Core
The Core package is the most important component of the Spring Framework. It provides the Dependency Injection features. The BeanFactory feature provides a factory pattern which separates the dependencies like: creation, initialization and access of the objects from your actual program.
Spring AOP
AOP Framework is one of key Spring components. It is used in Spring:
To provide enterprise services, eas a replacement for EJB declarative services, and to allow users to implement custom aspects to it, to complement their use of OOP with AOP
Spring ORM
The ORM is related to the database accessibility . It provides integration layers for object-relational mappings of APIs, including JDO, Hibernate and iBatis.
Spring WEB
The Spring Web is module is a part of Springs web application development stack, which includes Spring MVC.
Spring DAO
The DAO (Data Access Object) support in Spring was made mainly for standardizing the data access work using the technologies like JDBC, Hibernate or JDO.
Spring Web MVC
Module that provides the MVC implementations for the web based applications.
Spring Context
This package builds on the beans package to add support for message sources and for the Observer design pattern, and the ability for application objects to obtain resources using a consistent API.