配置类
Spring Boot支持基于Java的配置。尽管可以使用 SpringApplicationXML源,但我们通常建议您使用注解@Configuration来配置。通常,定义main方法的类是@Configuration注解配置的地方。
许多使用XML配置的Spring配置示例已在网上发布。如果可能,请尽量尝试使用等效的基于Java注解的配置。搜索Enable*注解可能是一个很好的起点。
导入其他配置类
你不需要把所有的@Configuration东西都放在一个类里。@Import注解可以用于导入额外的配置类。或者,您可以使用 @ComponentScan自动获取所有Spring组件,包括 @Configuration类。
导入XML配置
如果您必须使用基于XML的配置,我们建议您仍然从一个@Configuration类开始。然后,您可以使用@ImportResource注释来加载XML配置文件。
自动配置
Spring Boot自动配置会尝试根据您添加的jar依赖项自动配置Spring应用程序。例如,如果HSQLDB 在您的类路径上,并且您尚未手动配置任何数据库连接bean,则Spring Boot会自动配置内存数据库。
您需要在@Configuration注解的类的任意一个中添加@EnableAutoConfiguration或 @SpringBootApplication注解来启动自动配置。
您应该只添加一个@SpringBootApplication或@EnableAutoConfiguration 注释。我们通常建议您仅将一个或另一个添加到主@Configuration类。
逐步更换自动配置
自动配置是非侵入性的。在任何时候,您都可以开始定义自己的配置以替换自动配置的特定部分。例如,如果添加自己的DataSourcebean,则默认的嵌入式数据库支持会退回。
如果您需要了解当前正在应用的自动配置以及原因,请使用--debug参数来启动应用程序。这样做可以为选择的核心记录器启用调试日志,并将条件报告输出到控制台。
java --debug -jar path/projectName.jar
禁用特定的自动配置类
如果发现正在应用您不需要的特定自动配置类,则可以使用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属性来控制要排除的自动配置类列表 。
您可以在注释级别和要使用的属性中定义排除项。








网友评论