Spring Framework

Spring framework is robust and lightweight framework to develop enterprise applications. It is an open source Java platform developed by Rod Johnson in 2003.

Spring makes it very easy to develop Java Enterprise application.

It is supported by all JDK 8+ versions. It provides out of the box support to JDK 11.

According to java official documentation, “Spring” means different things in different contexts

We can easily create Spring project using https://start.spring.io/. This website will help us to create Restful web services.

There is one more open source editor named as Spring too kit is there in market to build Spring applications.

Below are the various modules supported by Spring framework:

Spring Core

It is main feature dependency injection and inversion of control of Spring core framework.
Dependency Injection is a main feature of Spring core framework. This provides a dependency

Let’s try to understand about dependency injection and inversion of control. For example, We have two classes as Class A and Class B. Dependency injection will come in picture if we want to make a relation or inject Class A in to Class B. Dependency injection can be achieved using parameterized constructor and getter setter methods. This complete process of injection called as IoC (Inversion of Control).

Spring AOP

Aspect Oriented Programming (AOP) is one of the key feature of Spring framework. AOP breaks down complete code into multiple modules.

AOP is similar to OOPS concept where it breaks code into multiple reusable modules. It provides the capability to dynamically add module at runtime.

Spring Web MVC (Model View Controller)

Spring web is all about MVC architecture. It also allows us to create flexible and loosely coupled web application.

Spring DAO (Java Data Objects)

It provides an interface which provides us the capability to connect with Spring MVC.

Spring ORM (Object relational mapping)

ORM is responsible to access and manipulate data using some framework such as Java Persistence API (JPA), Java Data Objects (JDO), iBATIS SQL Maps, etc.

Spring context

Spring context is a IoC containers. It instantiates, configures, and assembles beans or pojo classes by reading XML configurations, Java annotations, and/or Java code in the configuration files.

Now, the question is: why is Spring Framework famous?

Spring offers other modules such as Spring Core, Security, MVC, Spring Boot, and Logging, which is very easy to integrate, loosely coupled, easy to test and helps us to develop an application with lot more features in less time.

We can test the Spring Framework using Junit.

The Spring Framework has a big community.

Just for future reference

Spring framework all together is having three different flavors known as Spring core, Spring MVC and Spring Boot. Soring MVC uses Spring core and Spring boot uses Spring MVC which internally uses Spring Core.

Imran Khan

Specialist Master (Architect) with a passion for cutting-edge technologies like AEM (Adobe Experience Manager) and a proven track record of delivering high-quality software solutions.

  • Languages: Java, Python
  • Frameworks: J2EE, Spring, Struts 2.0, Hibernate
  • Web Technologies: React, HTML, CSS
  • Analytics: Adobe Analytics
  • Tools & Technologies: IntelliJ, JIRA

🌐 LinkedIn

📝 Blogs

📧 Imran Khan