Wednesday, 1 March 2017

Spring Core Concepts

Now let's take a look on the core concept of Spring.

Basic Introduction of Inversion of Control(IoC), Dependency Injection(DI), and Spring Framework.

Spring's framework expanded on the concepts introduced in Struts and Avalon, adding its own twist in the form of its extremely lightweight Inversion of Control (IoC) container. Spring is different from other frameworks in that it can be used with virtually any Java component, including POJOs (Plain Old Java Objects), and can be leveraged in small pieces.

What is Framework?
A framework is essentially a skeleton, a structure around which the flashing out of your application occurs. Frameworks tend to be build around a design pattern and consist of frozen spots - structural components which are unmodified by the developer - and hot spots, the pieces that an application developer contributes. In Spring, the hot spots are developer-contributed POJOs which are configured to run within the framework.

In the Spring Context, Most important component - the IoC container,and how Spring
can lead you to better Object Oriented programming and eventually to new possibilities with Aspect Oriented Programming.

Spring and Inversion of Control (IoC)

Inversion of Control is a design principle in which custom written portions of a computer program receive the flow of control from generic framework.

Tuesday, 28 February 2017

Spring Home

Hi Guys,

Today I am going to tell you about Spring Technology. I mean about Spring Framework in Java EE. It is most popular application development framework for enterprise Java.

Spring Framework is an open source application framework for Java platform that provides comprehensive infrastructure support for developing Enterprise level Java applications.

The framework's first release was written by Rod Johnson under the Apache 2.0 license in June 2003. It is a light - weight framework for the development of enterprise - based applications due to the POJO (Plain Old Java Object) model. The basic version of Spring is around 2MB.

The core features of the Spring Framework can be used in developing any Java application, but there are extensions for building web applications on top of the Java EE platform. Spring framework targets to make J2EE development easier to use and promote good programming practice by enabling a POJO-based programming model.

Declarative transaction management, remote access to the logic using RMI or web services, mailing facilities and various ways for data persistence in a database can be configured using Spring. This framework can also be used for all layer implementations for a real time application or it can be used for a particular layer of a real time application development. Apart from Struts which is only related to front end and  Hibernate which is only related to database, Spring enables to develop application related to all layers.

The infrastructure is handled by Spring so that the application logic can be focused. An application from Plain Old Java Objects (POJOs) and applying enterprise services to POJOs can be built using Spring. This ability of the framework is applied to the JavaSE programming model and to full and partial JavaEE also.

Let's take a tour to Spring Development but before we start first of all as an application developer, there are some advantages provided by Spring platform:

  • Spring enables a Java method to execute in a database transaction without having to deal with transaction APIs.
  • Spring enables developers to develop enterprise-class applications using POJOs. 
  • One more benefit of using only POJOs is that you do not need an EJB container product such as an application server but you have the option of using only a robust servlet container such as Tomcat or some commercial product. 
  • Spring enables a Java method to be a remote procedure without having to deal with remote APIs.
  • Testing an application written with Spring is simple because environment-dependent code is moved into this framework. Furthermore, by using JavaBean-style POJOs, it becomes easier to use dependency injection for injecting test data.
  • Spring enables a local Java method to have a management operation without having to deal with JMX (Java Management Extensions) APIs.
  • Spring enables a local Java method to contain a message handler without having to deal with JMS (Java Message Service) APIs.
aaah and lot more benefits Spring has.

Spring has gained popularity as it is simple due to its usage of the POJO/POJI model, for testing a spring application there is no need for a server or a container like that for an EJB or a struts application and Spring objects follow loose coupling by using dependency injection mechanism with the help of POJO/POJI model.