zoukankan      html  css  js  c++  java
  • SpringBoot入门(2)

    一、上一篇

      上一篇最后说到,可以把启动类放到非上级目录“@Componentscan这个注解后面指定扫描的包名(value=“com.zbb”)”,这里的value是一个数组,我们可以写多个目录,进行扫描。还有就是,如果有用(basePackage=“com.zbb”)也可以,可以是value也可以是basePackage,只是一个别名

    二、自动配置

      SpringBoot 自动配置( auto-configuration)尝试根据你添加的jar依赖自动配置你的 spring 应用。例如,如果你的 classpath 下存在 HSQLDB ,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库。你可以通过将 @EnableAutoConfiguration 或者 @SpringBootApplication 注解添加到一个 @Canfiguration 类上来选择自动配置。

      注:你只需要添加一个 @EnableAutoConfiguration 注解。我们建议你将它添加到主 @Configuration 类上。

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

      如果需要找出当前应用了哪些自动配置及应用的原因,你可以使用  debug 开关启动应用。这将会记录一个自动配置的报告并输出到控制台。

    三、禁止自动配置

      如果发现应用了你不想要的特定自动配置类,你可以使用 @EnableAutoConfiguration 注解的排除属性来禁用它们。

     1 @EnableAutoConfiguration(exclude = {DataSourceAutoConfigurantion.class}) 

    三、@SpringBootApplication

      很多 SpringBoot 开发者总是使用 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 注解他们的 main 类。由于这些注解被如此频繁的一块使用(特别是你遵循以上最佳实践时),SpringBoot 提供了一个方便的 @SpringBootApplication 选择。该注解等价于以默认属性使用 @Configuration、@EnableAutoConfiguration 和 @ComponentScan。

      我们来翻一下 @SpringBootApplication 的源码。它分别继承了3个注解

        1. @EnableAutoConfiguration

        2. @ComponentScan

        3. @SpringBootConfiguration(继承了 @Configuration 注解)

      所以它同时具备了 @ComponentScan 和 @EnableAutoConfiguration 的功能。

        

      我们再来看一下,@SpringBootConfiguration 实际上继承了 @Configuration 注解和功能。

        

  • 相关阅读:
    896. Monotonic Array单调数组
    865. Smallest Subtree with all the Deepest Nodes 有最深节点的最小子树
    489. Robot Room Cleaner扫地机器人
    JavaFX
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
  • 原文地址:https://www.cnblogs.com/sun7897/p/8656824.html
Copyright © 2011-2022 走看看