What is the Spring Framework?

Prasad Thilakarathne
3 min readJun 11, 2020

Normally for a beginner, it takes five, six, or may even a higher number of articles from a number of websites and a number of long YouTube videos to get some understanding about Spring Framework. I have decided to write this article to get all the things you need to know about Spring Framework within 5 minutes.

What Spring means?

Spring means different things in different contexts. Spring Framework contains number of modules that have separate code repository and separate release cadence. That is very important to understand. Because most of the beginners will lose their focus when they find out there are number of modules in Spring Framework and they don’t know what to learn first or are those all need to be learned in order to understand Spring Framework. Actually you don’t.

The heart module of all Spring modules is the Spring Core Container which includes the Configuration model and Dependency Injection mechanism. Other modules are modules that you can select based on the requirements of your project.

  • Spring Boot
  • Spring Security
  • Spring Data
  • Spring Cloud
  • Spring Batch
  • Spring Integration
  • Spring HATEOAS
  • Spring AMQP

are some modules that frequently used by most of the spring projects. You don’t need to have a deep knowledge of each and every module of the Spring Framework in order to understand what is Spring. The only thing you need to know is what Spring does?

What Spring does? is make it simple to create enterprise-ready Java applications by providing comprehensive programming and configuration model.

Imagine a typical Java application. It contains a number of objects and each of those is connected to one or many other objects. Let’s say there are 4 objects called A, B, C, and D. A needs to use B so what normally A does is create an instance of B and use it. Meantime if C and D need to use B, those two classes also need to create instances of B in order to use it.

How Java Application access instances.
How Singleton Pattern Helps to improve the application.
How Spring Dependency Injection Helps

This is how Spring’s Dependency Injection helps Java developers to improve development efficiency. Likewise, there are multiple projects, multiple features that Spring helps developers to make their life easy. You have full control to select what you want to use since all these features come as different Spring projects. That’s all that you need to know in order to understand about Spring Framework. You can decide what Spring projects that you need and start learning about it, but as a starting point, it always helps if you start with Spring Boot. It is really easy to develop a Java application with Spring boot. Refer to my next article about starting a Spring boot project.

Key Features of Spring Framework,
Core technologies: dependency injection, events, resources, validation, data binding, type conversion, AOP.
Testing: mock objects, TestContext framework, Spring MVC Test
Data Access: Transactions, DAO support, JDBC, ORM, Marshalling XML.
Spring MVC and Spring WebFlux web frameworks.
Integration: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache.
Languages: Kotlin, Groovy, dynamic languages.

--

--