美文网首页工作生活
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