|Spring is an open-source application framework, introduced
and developed in 2004. The main ideas were
suggested by an experienced J2EE architect, Rod Johnson
The Spring framework is a MVC Architecture for
building Web applications. Its pluggable MVC architecture
provides options for the developers to use the builtin
Spring Web framework or an existing Web framework
such as Struts, Saveria etc. Spring accommodates
multiple view technologies such as JSP technology,
Velocity, Tiles etc. Even, Spring framework is highly
configurable because of its strategy interfaces.
Spring Salient Features
Spring stresses the OO design issues rather than
focusing on the implementation aspects of a technology,
such as J2EE. And above all, the application code does
not depend on the Spring APIs unlike the EJB that force
to use JNDI and the Struts that force to extend Action.
Spring promotes the easy implementation of JEE technology.
It aims to simplify the JEE development and
testing. Spring’s functionality can be used in any JEE
Spring focuses on interface-oriented programming
rather than keeping it class-centric. Spring reduces the
complexity cost of using interfaces to zero.
Unlike java, Spring framework avoids the overuse of
the checked exceptions by allowing a user not to catch
Testability is an essential feature provided in Spring
that helps to test the user code very easily.
Spring does not attempt to do everything itself but
supports the best breed of technologies, For instance...
it supports several persistence technologies like JDO,
Hibernate and OJB as these ORM tools are highly
Spring offers a great way of configuring applications
through JavaBeans. Programmers find it easy to work
with these standard JavaBeans naming convention.
Spring Flexibility issues that distinguishes it
from other JEE Frameworks
Spring focuses on the reusability of business and
data access objects (by not keeping them specific to any
of the JEE services and environments like web, EJB etc).
||It keeps them loosely coupled.
In addition to classic OOP, Spring uses AOP(Aspect-Oriented
Programming) which is a very recent and useful paradigm to
promote the separation of concerns within a system. Hence it
makes Spring highly flexible.
Spring’s goal is to emerge as an entire Application Framework.
Other popular frameworks like Struts, Tapestry, JSF etc., are
very good web tier frameworks but when we use these framework,
we have to provide additional framework to deal with
enterprise tier that integrates well with these framework. Spring
tries to alleviate this problem by providing a comprehensive
framework, which includes a core bean container, an MVC
framework, an AOP integration framework, a JDBC
integration framework and an EJB integration framework.
Sometimes it is not possible to completely switch to a
different framework. Spring does not force to migrate
completely rather it allows to perfectly integrate with the
existing technologies. Spring provides various readymade
adapters for various hot web-tier and presentation
technologies. For example, there exists a variety of
technologies in the web-tier like STRUTS, JSF, MVC
PATTERN, WEB-WORK, TAPESTRY, FREEMARKER, JSP
etc. Developers are often puzzled and confused about
the relative merits and demerits of all these. Once they
choose a technology and start implementing and later
want to change over to another technology, it is very
difficult. Spring offers various modules supporting a
different technology, it just requires to change the
configuraion file. With this approach, it is even possible
for a development team to try and test a given task in all
the above forms and see the effect and performance
before deciding the choice. Spring offers its own version
of MVC architecture. It also offers adapters for Struts.
Spring provides proxying for RMI (special remoting
technologies like Burlap) JAX-RPC & web-service.
Spring makes use of Acegi, an open-source Security
framework and provides declarative security through its
Spring provides abstraction layers for JDBC (which
simplifies the error handling strategy to a great extent)
and transaction management (allows to add the
pluggable transaction managers and easily demarcate
the transactions without dealing with low-level issues).
Spring’s transaction support is not tied to JEE environments
and it can also be used in container-less environments.
Spring MVC separates the roles of the controller, the
model object, the dispatcher, and the handler object,
which makes them easier to customize. This MVC framework
is designed around a DispatcherServlet that dispatches
July 2007 | Java Jazz Up | 22
|Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
|31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 , Download PDF