Spring Boot 自动配置试图通过你引入的 jar 依赖来自动配置你的应用。例如,如果 HSQLDB
在你的 classpath ,你不需要手工配置任何数据库连接的类, Spring Boot 自动帮你配置数据库。
你需要在你配有 @Configuration
的类里加入 @EnableAutoConfiguration
或 @SpringBootApplication
注解来开启自动配置。
⭐你应该只加入
@SpringBootApplication
或@EnableAutoConfiguration
之。我们建议你只在你的主配置里面加入其中的一个。
自动配置是非入侵式的,在任何方面,你都可以配置你自己的配置来替换自动配置的配置。例如,如果你配置了你自己的 DataSource
类,默认的内嵌数据库配置就失效了。
如果你需要找出自动配置配置了什么和为什么这样配置, 用 --debug
参数来启动你的应用。这将为核心日志开启 debug 日志级别,并将自动配置相关的日志输出到控制台。
如果你找到了你自动配置的你不想配置的类,你可以使用 @EnableAutoConfiguration
的 exclude 属性来排除它,像下面的示例一样:
import org.springframework.boot.autoconfigure.*;
import org.springframework.boot.autoconfigure.jdbc.*;
import org.springframework.context.annotation.*;
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}
如果类没有在 classpath 里面,可以使用 excludeName
注解并指定类的全名来替换。最后,你同样可以通过 spring.autoconfigure.exclude
属性来排除自动配置的类。
⭐ 你可以通过注解和属性来排除不需要的类。