Modules
The Spring Framework comprises several modules that provide a range of services:
- Inversion of control container: configuration of application components and lifecycle management of Java objects, done mainly via dependency injection
- Aspect-oriented programming: enables implementing cross-cutting concerns.
- Data access: working with relational database management systems on the Java platform using JDBC and object-relational mapping tools and with NoSQL databases
- Transaction management: unifies several transaction management APIs and coordinates transactions for Java objects
- Model–view–controller: an HTTP- and servlet-based framework providing hooks for extension and customization for web applications and RESTful web services.
- Remote access framework: configurative RPC-style marshalling of Java objects over networks supporting RMI, CORBA and HTTP-based protocols including web services (SOAP)
- Convention over configuration: a rapid application development solution for Spring-based enterprise applications is offered in the Spring Roo module
- Authentication and authorization: configurable security processes that support a range of standards, protocols, tools and practices via the Spring Security sub-project (formerly Acegi Security System for Spring).
- Remote management: configurative exposure and management of Java objects for local or remote configuration via JMX
- Messaging: configurative registration of message listener objects for transparent message-consumption from message queues via JMS, improvement of message sending over standard JMS APIs
- Testing: support classes for writing unit tests and integration tests
Read more about this topic: Spring Framework