1. Home
  2. /
  3. Spring-boot
  4. /
  5. Spring Boot Custom 404 Response

Spring Boot Custom 404 Response - Spring-boot Typing CST Test

Loading…

Spring Boot Custom 404 Response — Spring-boot Code

Custom error handling for 404 requests.

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";
	}
}

Spring-boot Language Guide

Spring Boot is a Java-based framework that simplifies building production-ready Spring applications. It provides convention-over-configuration, embedded servers, and production-grade features for microservices and web applications.

Primary Use Cases

  • ▸RESTful API development
  • ▸Microservices architecture
  • ▸Enterprise backend systems
  • ▸Web applications with Spring MVC
  • ▸Integration with databases and messaging systems

Notable Features

  • ▸Embedded web servers for standalone deployment
  • ▸Auto-configuration to reduce boilerplate
  • ▸Production-ready metrics, health checks, and logging
  • ▸Spring ecosystem integration (Security, Data, Batch)
  • ▸Opinionated defaults with override options

Origin & Creator

Spring Boot was created by Pivotal Software (now part of VMware) in 2014 to simplify Spring framework development and deployment.

Industrial Note

Spring Boot is preferred in enterprise, cloud-native, and microservices applications where scalability, maintainability, and rapid development are critical.

Quick Explain

  • ▸Spring Boot allows developers to create stand-alone, production-ready Spring applications quickly.
  • ▸It provides embedded servers like Tomcat, Jetty, or Undertow, removing deployment complexity.
  • ▸Supports auto-configuration to reduce boilerplate code.
  • ▸Integrates seamlessly with Spring ecosystem: Spring Data, Spring Security, Spring MVC, etc.
  • ▸Widely used for microservices, REST APIs, and enterprise-grade backend systems.

Core Features

  • ▸Dependency injection and inversion-of-control via Spring Core
  • ▸Auto-configuration based on classpath and beans
  • ▸Embedded server (Tomcat, Jetty, Undertow)
  • ▸Spring MVC for web and REST endpoints
  • ▸Spring Data integration for ORM and database access

Learning Path

  • ▸Learn Java basics
  • ▸Understand Spring Core and dependency injection
  • ▸Learn Spring Boot auto-configuration
  • ▸Build REST APIs with Spring MVC
  • ▸Deploy Spring Boot applications

Practical Examples

  • ▸REST API for e-commerce
  • ▸User authentication and authorization service
  • ▸Microservices backend with Eureka and Ribbon
  • ▸Data processing service with Spring Batch
  • ▸Monitoring and logging service with Actuator

Comparisons

  • ▸Spring Boot vs Spring MVC: Boot adds auto-configuration and embedded server
  • ▸Spring Boot vs Flask: Java enterprise ecosystem vs Python lightweight
  • ▸Spring Boot vs FastAPI: Spring Boot is Java, FastAPI is Python with async support
  • ▸Spring Boot vs Express.js: Full-featured vs minimal Node.js framework
  • ▸Spring Boot vs Micronaut: Boot is mature, Micronaut optimized for startup and memory

Strengths

  • ▸Rapid development with minimal configuration
  • ▸Extensive ecosystem and community support
  • ▸Enterprise-grade, scalable architecture
  • ▸Embedded server simplifies deployment
  • ▸Rich production features (metrics, monitoring, health checks)

Limitations

  • ▸Heavier than micro-frameworks for very small apps
  • ▸Startup time longer than lightweight frameworks
  • ▸Learning curve for Spring ecosystem concepts
  • ▸Overhead if many auto-configurations are unused
  • ▸Can feel complex for simple projects

When NOT to Use

  • ▸Very small scripts or microservices requiring minimal footprint
  • ▸Projects needing very fast startup with low memory
  • ▸Teams unfamiliar with Java/Spring ecosystem
  • ▸Applications not requiring enterprise features
  • ▸Prototypes needing rapid experimentation with lightweight tools

Cheat Sheet

  • ▸@SpringBootApplication -> main class annotation
  • ▸SpringApplication.run(App.class, args) -> start app
  • ▸@RestController -> define REST endpoints
  • ▸@Service -> business logic layer
  • ▸@Repository -> data access layer

FAQ

  • ▸Is Spring Boot free?
  • ▸Yes - open-source under Apache 2.0 license.
  • ▸Can Spring Boot create standalone apps?
  • ▸Yes - with embedded Tomcat/Jetty/Undertow.
  • ▸Is Spring Boot suitable for production?
  • ▸Yes - widely used in enterprise-grade applications.
  • ▸Does Spring Boot include ORM?
  • ▸It integrates with Spring Data and JPA for ORM.
  • ▸How does Spring Boot compare to Flask?
  • ▸Spring Boot is Java/enterprise-focused; Flask is Python/lightweight.

30-Day Skill Plan

  • ▸Week 1: Java fundamentals
  • ▸Week 2: Spring Core and Boot basics
  • ▸Week 3: REST APIs and database integration
  • ▸Week 4: Security and microservices
  • ▸Week 5: Deployment and monitoring

Final Summary

  • ▸Spring Boot simplifies building production-ready Spring applications.
  • ▸Supports embedded servers and auto-configuration.
  • ▸Integrates with the Spring ecosystem for enterprise features.
  • ▸Ideal for microservices, REST APIs, and scalable backends.
  • ▸Widely adopted in enterprise and cloud-native applications.

Project Structure

  • ▸src/main/java/ - main application code
  • ▸src/main/resources/ - configuration files, static assets, templates
  • ▸controllers/ - REST controllers
  • ▸services/ - business logic classes
  • ▸repositories/ - database access interfaces

Monetization

  • ▸Backend for SaaS platforms
  • ▸Enterprise application development
  • ▸API-as-a-service offerings
  • ▸E-commerce backend systems
  • ▸Cloud-native microservices

Productivity Tips

  • ▸Use Spring Boot starters to simplify dependencies
  • ▸Leverage auto-configuration to reduce boilerplate
  • ▸Use embedded servers for quick testing
  • ▸Automate tests and deployments
  • ▸Monitor metrics and logs proactively

Basic Concepts

  • ▸Spring Boot application instance - entry point class
  • ▸Controllers - define REST endpoints
  • ▸Services - business logic layer
  • ▸Repositories - data access layer with Spring Data
  • ▸Beans - managed objects via dependency injection

Official Docs

  • ▸https://spring.io/projects/spring-boot
  • ▸https://github.com/spring-projects/spring-boot

More Spring-boot Typing Exercises

Spring Boot Simple Counter APISpring Boot Hello World APISpring Boot JSON EchoSpring Boot Query Param ExampleSpring Boot Path Variable ExampleSpring Boot Async Endpoint ExampleSpring Boot Combined Routes ExampleSpring Boot Health Check Endpoint

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher