Member-only story

Differences Between Normal Programming and Reactive Programming in Java Spring Boot

Rishi
4 min readDec 6, 2024

Java, especially with the power of Spring Boot, provides multiple ways to write applications. Two popular paradigms are normal (imperative) programming and reactive programming. Let’s explore the key differences, their use cases, and examples using Java 17 and Spring Boot.

1. Normal Programming

Normal programming, also referred to as imperative programming, follows a synchronous and blocking execution model. Each task is executed in sequence, and the program waits for a task to complete before proceeding.

Characteristics of Normal Programming

  • Synchronous: Calls are blocking, meaning the thread waits for a response.
  • Thread-per-request: Each client request occupies a thread until the task is complete.
  • Simpler: Easier to read, write, and debug.
  • Resource-heavy: Inefficient in handling a large number of concurrent requests.

Example with All Layers: REST API with Normal Programming

Controller Layer

@RestController
@RequestMapping("/api/normal")
public class NormalController {

private final…

--

--

Rishi
Rishi

Written by Rishi

Tech professional specializing in Java development and caching logic with expertise in SaaS and automation. https://rishi-preethamm.blogspot.com

No responses yet