zoukankan      html  css  js  c++  java
  • SpringBoot 官方文档中文版

    前言

    这是 SpringBoot 官方文档中文翻译版系列的第四篇文章:

    前三篇文章如下:

    SpringBoot 官方文档中文版 - 1. 入门指南

    SpringBoot 官方文档中文版 - 2. 构建系统

    SpringBoot 官方文档中文版 - 3. 构建你的代码

    配置类

    Spring Boot 支持基于 java 的配置。尽管可以将 SpringApplication 与 XML 一起使用,但我们通常建议您的主类是一个 @Configuration 类,通常定义主方法的类是首选 @Configuration。

    译者注:@SpringBootApplication 注解就已经包含了 @Configuration。

    Internet 上已经发布了许多使用 XML 配置的 Spring 配置示例。如果可能,总是尝试使用等效的基于 java 的配置。搜索 Enable* 注释可能是一个很好的起点。

    1. 导入额外的配置类

    您不需要将所有的 @Configuration 放入单个类中。@Import 注释可用于导入其他配置类。或者,您可以使用 @ComponentScan 自动扫描所有 Spring 组件,包括@Configuration 类。

    2. 导入 XML 配置

    如果您绝对必须使用基于 XML 的配置,我们建议您仍然从 @Configuration 类开始。然后可以使用 @ImportResource 注释来加载 XML 配置文件。

    自动化配置

    Spring Boot 自动配置尝试根据添加的 jar 依赖项自动配置 Spring 应用程序。例如,如果 HSQLDB 位于类路径上,并且您没有手动配置任何数据库连接 bean,那么 Spring Boot 会自动配置内存中的数据库。

    您需要通过添加 @Configuration 类中的 @EnableAutoConfiguration 或 @SpringBootApplication 注解来选择自动配置。

    您应该只添加一个 @SpringBootApplication 或 @EnableAutoConfiguration 注解。我们通常建议您只在主 @Configuration 类中添加一个或另一个。

    1. 逐渐取代自动配置

    自动配置非侵入性。在任何时候,您都可以开始定义自己的配置,以替换自动配置的特定部分。例如,如果您添加自己的 DataSource bean,默认的嵌入式数据库支持就会后退。

    如果您需要了解当前应用的是什么自动配置以及原因,请使用—— debug 开关启动应用程序。这样做可以为选择的核心日志记录器启用调试日志,并向控制台记录条件报告。

    2. 禁用特定的自动配置类

    如果你发现你不想要的特定的自动配置类正在被应用,你可以使用 @SpringBootApplication 的 exclude 属性来禁用它们,如下面的例子所示:

    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
    
    @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
    public class MyApplication {
    
    }
    

    如果类不在类路径上,则可以使用注释的 excludeName 属性并指定完全限定名。如果您更喜欢使用 @EnableAutoConfiguration 而不是 @SpringBootApplication,也可以使用 exclude 和 excludeName。最后,您还可以使用 spring.autoconfigure.exclude 属性来控制要排除的自动配置类列表。

    您可以在注解级别和使用属性定义排除。

    提示:尽管自动配置类是公共的,但该类被认为是公共 API 的唯一方面是可用于禁用自动配置的类名。这些类的实际内容(如嵌套配置类或bean方法)仅供内部使用,我们不建议直接使用它们。

    每天学习一点点,每天进步一点点。

  • 相关阅读:
    八步详解Hibernate的搭建及使用
    Hibernate的介绍
    javascript的优缺点和内置对象
    过滤器有哪些作用?
    JSP中动态INCLUDE与静态INCLUDE的区别?
    jsp的四种范围?
    jsp有哪些动作作用分别是什么?
    介绍在JSP中如何使用JavaBeans?
    jsp有哪些内置对象作用分别是什么 分别有什么方法?
    request.getAttribute() 和 request.getParameter() 有何区别?
  • 原文地址:https://www.cnblogs.com/youcoding/p/15049254.html
Copyright © 2011-2022 走看看