1
0
mirror of https://github.com/apachecn/spring-boot-doc-zh.git synced 2025-06-06 17:50:57 +00:00
wizardforcel cdd1ca7535 mkdocs
2018-11-26 15:20:07 +08:00

1.9 KiB
Raw Permalink Blame History

16. 自动配置

Spring Boot 会根据您添加的jar依赖关系自动配置您的Spring应用程序。例如如果HSQLDB在您的类路径上并且您没有手动配置任何数据库连接bean那么我们将自动配置内存数据库。

您需要通过将@EnableAutoConfiguration或@SpringBootApplication注解添加到您的一个@Configuration类中来选择自动配置。

您应该只添加一个@EnableAutoConfiguration注解。 我们通常建议您将其添加到主@Configuration类中。

16.1逐渐取代自动配置

自动配置是非侵入式的,您可以随时定义自己的配置来替换自动配置。 例如,如果您添加自己的 DataSource bean则默认的嵌入式数据库支持将会退回。

如果您需要了解当前有哪些自动配置,以及为什么,请使用--debug开关启动应用程序。 这将启用debug日志并将自动配置日志记录到控制台。

16.2 禁用指定的自动配置

如果您发现正在使用一些不需要的自动配置类,可以使用@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属性并指定全限定名(fully qualified name)。 最后您还可以通过spring.autoconfigure.exclude属性控制要排除的自动配置类列表。

注解和使用属性(property)定义都可以指定要排除的自动配置类。