Spring is a lightweight framework for building Java applications. You can use Spring to build any application in Java (for example, stand-alone, web, or JEE applications), unlike many other frameworks (such as Apache Struts, which is limited to web applications).
Overview of the Spring Framework
– Spring Core: Bean container and supporting utilities. The Core component is the most important component of the Spring Framework. This component provides the Dependency Injection features. The BeanFactory provides a factory pattern which separates the dependencies like initialization, creation and access of the objects from your actual program logic.
– Spring Context: ApplicationContext, UI, validation, JNDI, Enterprise JavaBeans (EJB), remoting, and mail support
– Spring DAO: Transaction infrastructure, Java Database Connectivity (JDBC), and data access object (DAO) support
– Spring ORM: Hibernate, iBATIS, and Java Data Objects (JDO) support
– Spring AOP: An AOP Alliance–compliant aspect-oriented programming (AOP) implementation . Spring AOP is used for providing declarative enterprise services, especially as a replacement for EJB declarative services. The most important such service is declarative transaction management, which builds on Spring’s transaction abstraction. To allow users to implement custom aspects, complementing their use of OOP with AOP
– Spring Web: Basic integration features such as multipart functionality, context initialization through servlet listeners, and a web-oriented application context
– Spring Web MVC: Web-based Model-View-Controller (MVC) framework