Google
Spring

Print this page

 

 

The Spring Framework is an open source application framework for the Java platform. The first version was written by Rod Johnson, who first released it with the publication of his book Expert One-on-One Java EE Design and Development (Wrox Press, October 2002). A port is available for the .NET Framework.

The framework was first released under the Apache 2.0 license in June 2003. The first milestone release was 1.0 which was released in March 2004 with further milestone releases in September 2004 and March 2005.

Although the Spring Framework does not enforce any specific programming model it has become widely popular in the Java community primarily as an alternative and replacement for the Enterprise JavaBean model. By design, the framework offers a lot of freedom to Java developers yet provides well-documented and easy to use solutions for common practices in the industry.

While the core features of the Spring Framework are usable in any Java application there are many extensions and improvements for building web-based applications on top of the Java Enterprise platform. Spring has gained a lot of popularity because of this and is recognized by vendors as a strategically important framework

Key features

JavaBeans-based configuration management, applying Inversion-of-Control principles, specifically using the Dependency Injection technique. This aims to reduce dependencies of components on specific implementations of other components.
A core bean factory, which is globally usable.
Generic abstraction layer for database transaction management.
Built-in generic strategies for JTA and a single JDBC DataSource. This removes the dependency on a Java EE environment for transaction support.
Integration with persistence frameworks Hibernate, JDO, iBATIS, db4o and JPA.
MVC web application framework, built on core Spring functionality, supporting many technologies for generating views, including JSP, FreeMarker, Velocity, Tiles, iText, and POI.
Extensive aspect-oriented programming framework to provide services such as transaction management. As with the Inversion-of-Control parts of the system, this aims to improve the modularity of systems created using the framework

Modules of the Spring Framework

The Spring Framework can be considered as a collection of smaller frameworks or frameworks-in-the-framework. Most of these frameworks are designed to work independently of each other yet provide better functionalities when used together. These frameworks are divided along the building blocks of typical complex applications:

Inversion of Control container: configuration of application components and lifecycle management of Java objects.
Aspect-oriented programming framework: working with functionalities that cannot be implemented with Java's object-oriented programming capabilities without making sacrifices.
Data access framework: working with relational database management systems on the Java platform using JDBC and Object-relational mapping tools providing solutions to technical challenges that are reusable in a multitude of Java-based environments.
Transaction management framework: harmonization of various transaction management API's and configurative transaction management orchestration for Java objects.
Model-view-controller framework: HTTP and Servlet based framework providing many hooks for extension and customization.
Remote Access framework: configurative RPC-style export and import of Java objects over computer networks supporting RMI, CORBA and HTTP-based protocols including web services (SOAP).
Authentication and authorization framework: configurative orchestration of authentication and authorization processes supporting many popular and industry-standard standards, protocols, tools and practices via the Acegi sub-project.
Remote Management framework: configurative exposure and management of Java objects for local or remote configuration via JMX.
Messaging framework: configurative registration of message listener objects for transparent message consumption from message queues via JMS, improvement of message sending over standard JMS API's.
Testing framework: support classes for writing unit tests and integration tests.

 

 

 

On this Page
 

On InterviewFundas.com
Chapter 1
 
 

Related links to other sites

 

 
 
You can put your ad here
 
 Top  
   
   

You are visitor number :