Spring is a light weight open source framework, whose sole purpose is to make J2EE technologies easier to use. Spring by itself does not provide a solution for a particular problem (except Spring MVC); in turn it makes an outer layered architecture to integrate any other framework with your application in an easily maintainable way.
Enterprise applications can be developed in Java using Spring framework.
Spring framework comprises of different modules which are grouped under the following hierarchy.
- Web MVC
- Data Access/Integration
- JDBC - Provides support for database interaction
- ORM - Provides integration with Hibernate, iBatis etc.
- OXM - Provides support with JAXB, XMLBeans etc
- Transaction - Supports transaction management feature
- JMS - Java Messaging Service for sending and receiving messages
- Core Container
- Core - Provides support for the Spring framework fundamentals, Dependency Injection and Inversion of Control features.
- Beans - This works in line with the Spring Core module.
- Context - Provides support for loading bundle properties for Internationalization, Standards and Custom events, EJB, JMX etc.
- Expression Language - Provides support for querying Object graph at run time.
- AOP - Provides Aspect Oriented Programming support
- Test - Provides support for JUnit testing.
This tutorial covers most of the features and functionality of Spring framework in the subsequent chapters.
In this tutorial , we have range of topics explaining various spring concepts Spring MVC,AOP ,JDBC and integration of various open source frameworks like (Direct Web Remoting, Hibernate, JfreeChart, Velocity ) with Spring.