Showing posts with label spring framework. Show all posts
Showing posts with label spring framework. Show all posts

Tuesday, 30 September 2014

What is Spring Framework and its advantages & features


What is Spring Framework?
  • Spring is a multi-tier open-source lightweight application framework.
  • It addresses most infrastructure concerns of enterprise applications.
  • It is mainly a technology dedicated to enable us to build applications using POJOs (Plain Old Java Objects). This includes a well designed and managing java objects.

What are the key advantages of Spring Framework ?

Spring framework is a complete enterprise application framework with multiple benefits.The following few are the key benefits:
  • Spring is a Lightweight container
  • It address issues of the business tier
  • Spring framework provides perfect support for write code that is easy to test.
  • Spring framework provides a great support for integration with various technologies of java in creating enterprise application.
  • It avoids implementing many design patterns such as Single Pattern and Factory by providing a built in solution for these patterns.
  • It can eliminate the need to use a variety of custom properties file formats., by handling Configurations in a consistent way throughout the application.
  • It provides a simple set of Annotations of easy Configuration of the system from the web presentation to the data access layer.
  • Not required special deployment steps

What are the features of Spring ?

Following are the few of the important features if spring framework:

Lightweight: Spring framework provides the enterprise level services simplifying creating java enterprise applications. This is lightweight when it comes to size and transparency. The processing overhead in using Spring Framework services is also very negligible.

IOC (Inversion of Control) Container: This provides a loose coupling between the objects in the system, simplifying wiring the system.

Aspect Oriented(AOP): Spring supports Aspect Oriented Programming that enables convenient development by separating application business logic from system services.

Web MVC Framework: Spring framework includes a web MVC framework simplifying developing web MVC applications in java, this is highly configurable via strategy interfaces and supports integrating with multiple view technologies like JSP. Velocity, Tiles, iText and POI.

Transaction Management: Spring framework provides a simple unified abstraction layer for accessing the transaction services from different environments such as JTA, Hibernate, JDBC, JPA. This also support declarative transaction service similar to the Java EE, EJB.

JDBC Abstraction Framework: The JDBC abstraction layer of the Spring simplifies implementing the DAOs using jDBC by providing a built-in solution for problems like Code duplication, Resource handling and Exception handling where it can convert the SQLException into meaningful exception hierarchy simplifying the error handling strategy.

Integration with Hibernate, JDO and iBATIS: Spring provides best way of integrating with data access technologies such as Hibernate, JPA, JDO and iBATIS.


Spring Remoting: Spring includes a support for integrating with various Remoting technologies such as RMI, Hessian, Burlap and JAX-RPC. In addition this includes its own remoting service to suite with few architectures.

Wednesday, 13 June 2012

Spring default included JAR Files and their short descriptions

spring-aop.jar
To Implement Spring's AOP feature, this jar is used. You also need to include this JAR in your application if you plan to use other features in Spring that use AOP, such as declarative transaction management.
spring-beans.jar
This jar contains all of Spring’s dependency injection ,contains the bean factories and supporting classes.
spring-context.jar
To build the Spring application context, this jar is used. it packages the main ApplicationConext interface and its implementations together with code for instrumentation, JNDI, scheduling, themes, and validation.
spring-context-support.jar
This package contains utility Spring code—this means caching, instrumentation, e-mail and scheduling support, and the very interesting scripting languages support.
spring-core.jar
This contains the core files of the Spring Framework: it deals with annotations, enumerations, task execution, resource loading, and other utilities and exceptions you may find useful even outside the context of the Spring Framework.
spring-jdbc.jar
This package contains code for the JDBC support classes, namely the JdbcTemplate and JdbcDaoSupport classes.
spring-jms.jar
This JAR contains code for JMS.
spring-orm.jar
This archive contains the files needed for object-relational mapping(ORM) tools. Including this package on your classpath will give you Spring support for Hibernate 3, iBATIS, JDO, JPA, and TopLink.
spring-test.jar
This package contains support code to write unit and integration tests using the Spring Framework. It supports the JUnit 3, JUnit 4, and TestNG testing frameworks. In addition, you can use classes from the org.springframework.mock package, which represent
mock implementations of JNDI and web classes.
spring-tx.jar
This one contains support for core data access exceptions and transaction technologies. These two areas are closely bound together, because the transactions generally work with some data access code.
spring-web.jar
This JAR contains code for the Spring web application support (utilities, binders, multipart resolvers).
spring-webmvc-portlet.jar
This JAR contains code needed to build portlet-based (rather than servlet-based) web applications. If you have an application server
that supports the Portlet API (JSR 168), you can use this package.
spring-webmvc-struts.jar
This package contains code needed to use Spring with the Jakarta Struts Framework.
spring-webmvc.jar
This package contains the Spring MVC code.