Spring Boot auto-configuration attempts to automatically configure your Spring
application based on the jar dependencies that you have added. For example, If
HSQLDB
is on your classpath, and you have not manually configured any database
connection beans, then we will auto-configure an in-memory database.
You need to opt-in to auto-configuration by adding the @EnableAutoConfiguration
or
@SpringBootApplication
annotations to one of your @Configuration
classes.
Tip | |
---|---|
You should only ever add one |
Auto-configuration is noninvasive, at any point you can start to define your own
configuration to replace specific parts of the auto-configuration. For example, if
you add your own DataSource
bean, the default embedded database support will back away.
If you need to find out what auto-configuration is currently being applied, and why,
starting your application with the --debug
switch. This will log an auto-configuration
report to the console.
If you find that specific auto-configure classes are being applied that you don’t want,
you can use the exclude attribute of @EnableAutoConfiguration
to disable them.
import org.springframework.boot.autoconfigure.*; import org.springframework.boot.autoconfigure.jdbc.*; import org.springframework.context.annotation.*; @Configuration @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class MyConfiguration { }