此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4! |
Spring Boot 自动配置会尝试根据您添加的 jar 依赖项自动配置 Spring 应用程序。
例如,如果 在你的 Classpath 上,并且你没有手动配置任何数据库连接 bean,那么 Spring Boot 会自动配置内存数据库。HSQLDB
您需要通过向其中一个类添加 or 注解来选择自动配置。@EnableAutoConfiguration
@SpringBootApplication
@Configuration
您应该只添加一个或注释。
我们通常建议您仅将其中一个添加到主类中。@SpringBootApplication @EnableAutoConfiguration @Configuration |
您应该只添加一个或注释。
我们通常建议您仅将其中一个添加到主类中。@SpringBootApplication @EnableAutoConfiguration @Configuration |
逐步替换自动配置
自动配置是非侵入性的。
您可以随时开始定义自己的配置以替换自动配置的特定部分。
例如,如果您添加自己的 Bean,则默认的嵌入式数据库支持将退出。DataSource
如果您需要了解当前正在应用的自动配置以及原因,请使用开关启动您的应用程序。
这样做会为选定的核心记录器启用调试日志,并将条件报告记录到控制台。--debug
禁用特定的自动配置类
如果您发现正在应用不需要的特定自动配置类,则可以使用 exclude 属性 of 来禁用它们,如以下示例所示:@SpringBootApplication
-
Java
-
Kotlin
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class MyApplication {
}
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
@SpringBootApplication(exclude = [DataSourceAutoConfiguration::class])
class MyApplication
如果类不在 Classpath 上,则可以使用 Comments 的属性并指定完全限定名称。
如果您更喜欢使用 而不是 ,并且也可以使用。
最后,您还可以使用 property 控制要排除的自动配置类的列表。excludeName
@EnableAutoConfiguration
@SpringBootApplication
exclude
excludeName
spring.autoconfigure.exclude
您可以在注释级别定义排除项,也可以使用 property 定义排除项。 |
即使自动配置类是 ,类中被视为公共 API 的唯一方面是可用于禁用自动配置的类的名称。
这些类的实际内容(例如嵌套配置类或 bean 方法)仅供内部使用,我们不建议直接使用它们。public |
您可以在注释级别定义排除项,也可以使用 property 定义排除项。 |
即使自动配置类是 ,类中被视为公共 API 的唯一方面是可用于禁用自动配置的类的名称。
这些类的实际内容(例如嵌套配置类或 bean 方法)仅供内部使用,我们不建议直接使用它们。public |
自动配置软件包
自动配置包是各种自动配置的功能在扫描实体和 Spring Data 存储库等内容时默认查找的包。
注释(直接或通过其存在 on )确定默认的自动配置包。
可以使用 annotation 配置其他软件包。@EnableAutoConfiguration
@SpringBootApplication
@AutoConfigurationPackage