美文网首页工作生活
SpringBoot_3 配置入门

SpringBoot_3 配置入门

作者: o______o | 来源:发表于2019-07-06 16:17 被阅读2次

返回目录

配置类


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属性来控制要排除的自动配置类列表 。

您可以在注释级别和要使用的属性中定义排除项。

返回目录

相关文章

网友评论

    本文标题:SpringBoot_3 配置入门

    本文链接:https://www.haomeiwen.com/subject/sixmcctx.html