Member-only story

How to Disable Auto-Configuration in Spring Boot (Step-by-Step Guide)

Learn how to disable specific auto-configurations in Spring Boot using the exclude attribute and @EnableAutoConfiguration. Includes real-world examples and best practices.

Ramesh Fadatare
2 min readMar 25, 2025

🔍 What Is Auto-Configuration in Spring Boot?

Spring Boot’s auto-configuration feature automatically configures your application based on the dependencies in your classpath.

✅ It reduces boilerplate code.

❌ But sometimes, it can load configurations you don’t want.

For example:

  • You may not want to use a database, but Spring Boot configures a DataSource by default.
  • You may want to override the default configuration manually.

In such cases, you can disable specific auto-configurations.

🔧 3 Ways to Disable a Specific Auto-Configuration

✅ 1. Use exclude in @SpringBootApplication

This is the most common and recommended way to disable unwanted auto-configuration classes.

@SpringBootApplication(
exclude = {
DataSourceAutoConfiguration.class,
HibernateJpaAutoConfiguration.class
}
)
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}

💡 In this example:

  • DataSourceAutoConfiguration and HibernateJpaAutoConfiguration are excluded.
  • Useful when your app doesn’t need a database.

✅ 2. Use @EnableAutoConfiguration with exclude

You can also use @EnableAutoConfiguration directly instead of @SpringBootApplication (if you're not using Spring Boot starter annotation).

@Configuration
@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})
public class AppConfig {
}

📌 Note: @SpringBootApplication internally includes @EnableAutoConfiguration.

✅ 3. Disable via spring.autoconfigure.exclude in application.properties

spring.autoconfigure.exclud…

--

--

No responses yet

Write a response