配置类
Spring Boot支持基于Java的配置。虽然可以使用 SpringApplication
XML来源,但我们通常建议您的主要来源为单个@Configuration
类别。通常,定义该main
方法的类是主要的候选人@Configuration
。
许多使用XML配置的互联网上发布了Spring配置示例。如果可能,请始终尝试使用等效的基于Java的配置。搜索 |
你不需要把所有的@Configuration
东西都放到一个班上。该@Import
注释可用于导入其他配置类。或者,您可以使用 @ComponentScan
自动获取所有Spring组件,包括@Configuration
类。
Spring Boot自动配置会尝试根据您添加的jar依赖关系自动配置您的Spring应用程序。例如,如果HSQLDB
在您的类路径中,并且您没有手动配置任何数据库连接Bean,则Spring Boot会自动配置内存数据库。
您需要选择加入@EnableAutoConfiguration
或 @SpringBootApplication
注释到您的某个@Configuration
类来自动配置。
你应该只添加一个 |
自动配置是非侵入式的。在任何时候,您都可以开始定义自己的配置以替换自动配置的特定部分。例如,如果您添加自己的DataSource
Bean,则默认的嵌入式数据库支持会被取消。
如果您需要了解当前正在应用的自动配置以及为什么使用--debug
交换机启动应用程序。这样做可以为选定的核心记录器启用调试日志,并将条件报告记录到控制台。
如果您发现不需要的特定自动配置类正在应用,则可以使用exclude属性@EnableAutoConfiguration
来禁用它们,如以下示例所示:
import org.springframework.boot.autoconfigure。*; import org.springframework.boot.autoconfigure.jdbc。*; import org.springframework.context.annotation。*; @Configuration @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) public class MyConfiguration { }
如果该类不在类路径上,则可以使用excludeName
注释的属性并改为指定完全限定名。最后,您还可以通过使用该spring.autoconfigure.exclude
属性来控制要排除的自动配置类的列表 。