Spring Framework is developed to concentrate on the complexities of the application development functions of enterprises. One of its major advantages is the layered architecture which provides an organized framework for application development. It also allows you to select the components that you wish to use.
The architecture of the Spring Framework is layer-styled and it has seven modules. Each module can either work independently or combined with one or more other modules. These seven modules are further explained below:
• The Spring Core Container
The functionality of the spring core is essential for the overall function of the Spring Framework. The Bean Factory is one of the main components of the core container. This component directs the pattern of IOC – Inversion of Control to separate the real application code from its dependency specification and configuration.
• The Spring Context
A configuration file, the spring context provides the necessary context information to the framework overall. This may include various enterprise services, for example EJB, scheduling functionality, internalization, e-mail, validation, and JNDI.
• The Spring AOP
This module has a configuration management feature which integrates the programming functionality straight into the framework. Hence, any object controlled by the framework can be easily AOP-enabled. It also provides services of transaction management for any object having an application that is spring based.
• The Spring DAO
The Spring DAO manages the error messages and exception handling by the various database suppliers. It simplifies the handling process of errors and decreases the number of exception code that will be need to written. For example, closing and opening connections.
• The Spring ORM
Different ORM frameworks are plugged into the Spring Framework overall. This provides the object relational tools that include iBatis SQL Maps, JDO, and Hibernate. All these tools comply to the DAO exception hierarchies and the generic transaction of Spring.
• The Spring Web Module
This module is built on top of the spring context module and provides context for applications that are web based. Therefore, the framework supports the integration of Jakarta Struts with the framework itself. This spring web module also simplifies the task of handling requests and binding their parameters to the domain objects.
• The Spring MVC Framework
The MVC (Model View Controller) framework implements MVC to build web applications. This framework is highly flexible in terms of strategy interfaces and accommodates various technologies such as Velocity, POI, Tiles, JSP, and iText.This framework is highly flexible in terms of strategy interfaces and accommodates various technologies such as Velocity, POI, Tiles, JSP, and iText.