zoukankan      html  css  js  c++  java
  • Spring Boot学习一之配置类及自动配置

    一、配置类

    1. 导入其他配置类
      你不需要将所有的 @Configuration 放进一个单独的类, @Import 注解可以用来导入其他配置类。另外,你也可以使用 @ComponentScan 注解自动收集所有Spring组件,包括 @Configuration 类。

    2. 导入XML配置
      如果必须使用XML配置,建议你仍旧从一个 @Configuration 类开始,然后使用 @ImportResource 注解加载XML配置文件

    二、自动配置

    Spring Boot自动配置(auto-configuration)尝试根据添加的jar依赖自动配置你的Spring应用。例如,如果classpath下存在 HSQLDB ,并且你没有手动配置任何数据库连接的beans,那么Spring Boot将自动配置一个内存型(in-memory)数据

    实现自动配置有两种可选方式,分别是将 @EnableAutoConfiguration 或 @SpringBootApplication 注解到 @Configuration 类

    注:你应该只添加一个 @EnableAutoConfiguration 注解,通常建议将它添加到主配置类(primary @Configuration )

    1. 逐步替换自动配置
    自动配置(Auto-configuration)是非侵入性的,任何时候你都可以定义自己的配置类来替换自动配置的特定部分。例如,如果你添加自己的 DataSource bean,默认的内嵌数据库支持将不被考虑。

    如果需要查看当前应用启动了哪些自动配置项,你可以在运行应用时打开 --debug 开关,这将为核心日志开启debug日志级别,并将自动配置相关的日志输出到控制台。

    2. 禁用特定的自动配置项
      如果发现启用了不想要的自动配置项,你可以使用 @EnableAutoConfiguration 注解的exclude属性禁用它们:

    import org.springframework.boot.autoconfigure.*;
    import org.springframework.boot.autoconfigure.jdbc.*;
    import org.springframework.context.annotation.*;
    @Configuration

    @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.cl
    ass})
    public class MyConfiguration {
    }

    如果该类不在classpath中,你可以使用该注解的excludeName属性,并指定全限定名来达到相同效果。最后,你可以通过 spring.autoconfigure.exclude 属性exclude多个自动配置项(一个自动配置项集合)。


    注 通过注解级别或exclude属性都可以定义排除项。

  • 相关阅读:
    10.20stark组件已经完工
    webpack3到webpack4
    app埋点
    postman使用
    phantomjs
    nodejieba中文分词
    爬虫--cheerio
    mysql命令(三)
    mysql学习(二)
    mysql安装登录
  • 原文地址:https://www.cnblogs.com/yhtboke/p/10213721.html
Copyright © 2011-2022 走看看