Learn SPRING-BOOT with Real Code Examples
Updated Nov 25, 2025
Code Sample Descriptions
1
Spring Boot Simple Counter API
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
public class CounterApplication {
public static void main(String[] args) {
SpringApplication.run(CounterApplication.class, args);
}
}
@RestController
@RequestMapping("/counter")
class CounterController {
private int count = 0;
@GetMapping
public int getCount() {
return count;
}
@PostMapping("/increment")
public int increment() {
return ++count;
}
@PostMapping("/decrement")
public int decrement() {
return --count;
}
@PostMapping("/reset")
public int reset() {
count = 0;
return count;
}
}
Demonstrates a simple Spring Boot REST API with a counter using a Controller and in-memory state.
2
Spring Boot Hello World API
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
@RestController
class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello World";
}
}
A minimal Spring Boot API returning 'Hello World'.
3
Spring Boot JSON Echo
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@SpringBootApplication
public class EchoApplication {
public static void main(String[] args) {
SpringApplication.run(EchoApplication.class, args);
}
}
@RestController
class EchoController {
@PostMapping("/echo")
public Map<String, Object> echo(@RequestBody Map<String, Object> payload) {
return payload;
}
}
Echoes back JSON sent in POST request.
4
Spring Boot Query Param Example
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
public class GreetApplication {
public static void main(String[] args) {
SpringApplication.run(GreetApplication.class, args);
}
}
@RestController
class GreetController {
@GetMapping("/greet")
public String greet(@RequestParam(defaultValue="Guest") String name) {
return "Hello " + name;
}
}
Greets user using query parameters.
5
Spring Boot Path Variable Example
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
}
}
@RestController
@RequestMapping("/users")
class UserController {
@GetMapping("/{id}")
public String getUser(@PathVariable int id) {
return "User " + id;
}
}
Returns info for a user based on path variable.
6
Spring Boot Async Endpoint Example
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
import java.util.concurrent.CompletableFuture;
@SpringBootApplication
public class AsyncApplication {
public static void main(String[] args) {
SpringApplication.run(AsyncApplication.class, args);
}
}
@RestController
class AsyncController {
@GetMapping("/async")
public CompletableFuture<String> asyncHello() {
return CompletableFuture.supplyAsync(() -> {
try { Thread.sleep(1000); } catch (InterruptedException e) {}
return "Async Hello";
});
}
}
Asynchronous endpoint returning a delayed response.
7
Spring Boot Custom 404 Response
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.NoHandlerFoundException;
@SpringBootApplication
public class ErrorApplication {
public static void main(String[] args) {
SpringApplication.run(ErrorApplication.class, args);
}
}
@RestController
@ControllerAdvice
class ErrorController {
@ExceptionHandler(NoHandlerFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
public String handle404() {
return "Custom 404 Not Found";
}
}
Custom error handling for 404 requests.
8
Spring Boot Combined Routes Example
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@SpringBootApplication
public class CombinedApplication {
public static void main(String[] args) {
SpringApplication.run(CombinedApplication.class, args);
}
}
@RestController
class CombinedController {
private int count = 0;
@GetMapping("/counter")
public int getCount() { return count; }
@PostMapping("/counter/increment")
public int increment() { return ++count; }
@PostMapping("/counter/decrement")
public int decrement() { return --count; }
@PostMapping("/counter/reset")
public int reset() { return count = 0; }
@PostMapping("/echo")
public Map<String, Object> echo(@RequestBody Map<String, Object> payload) { return payload; }
@GetMapping("/greet")
public String greet(@RequestParam(defaultValue="Guest") String name) { return "Hello " + name; }
}
Multiple endpoints: counter, echo, and greeting combined.
9
Spring Boot Health Check Endpoint
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
public class HealthApplication {
public static void main(String[] args) {
SpringApplication.run(HealthApplication.class, args);
}
}
@RestController
class HealthController {
@GetMapping("/health")
public String health() { return "OK"; }
}
Simple health check endpoint returning status.