Tutorials/Spring Boot/Spring Boot
Lesson

Auto-configuration

Spring Boot /Spring Boot

Spring Boot Auto-Configuration

1. Introduction

Spring Boot Auto-Configuration is a feature that automatically configures application components based on available dependencies.

It helps to:

  • Automatically create required beans

  • Reduce manual configuration

  • Speed up development


2. Why Auto-Configuration is Important

Before Spring Boot, developers had to configure many things manually:

  • DispatcherServlet

  • View resolvers

  • Database connections

  • Transaction management

  • Web server

Spring Boot removes this manual work using auto-configuration.


3. How Auto-Configuration Works

Auto-configuration works using:

@EnableAutoConfiguration

It configures beans based on:

  • Classpath dependencies

  • Application properties

  • Existing beans


@SpringBootApplication

This is the main annotation and includes:

  • @Configuration

  • @EnableAutoConfiguration

  • @ComponentScan

plaintext
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

When the application starts:


  • Spring Boot scans dependencies


  • Automatically configures required components


4. Steps to Implement Auto-Configuration


Step 1: Create Project

Use Spring Initializr with:


  • Project: Maven


  • Language: Java


  • Java Version: 17+


  • Dependency: Spring Web


Step 2: Project Structure


  • Main class is auto-generated


  • Follows standard Spring Boot structure


Step 3: Main Class

plaintext
@SpringBootApplication
public class AutoConfigDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(AutoConfigDemoApplication.class, args);
    }
}

Step 4: Create Controller

plaintext
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello Spring Boot Auto Configuration";
    }
}

Step 5: Run Application

When you run the application, Spring Boot automatically:


  • Starts embedded Tomcat server


  • Configures DispatcherServlet


  • Enables Spring MVC


  • Configures JSON support


Step 6: Test Application

Open browser:

plaintext
http://localhost:8080/hello

Output:

plaintext
Hello Spring Boot Auto Configuration

5. What Spring Boot Configures Automatically


  • Web server (Tomcat)


  • Servlet configuration


  • MVC configuration


  • Request handling


  • JSON conversion


6. Conclusion


  • Auto-configuration reduces manual setup


  • Makes development faster


  • Core feature of Spring Boot