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 注解和功能。

        

  • 相关阅读:
    Path Sum
    【转】Python的神奇方法指南
    【转】浅析Python中的struct模块
    【转】Python之系统交互(subprocess)
    【转】Win10下python3和python2多版本同时安装并解决pip共存问题
    【转】python包导入细节
    【转】python 历险记(四)— python 中常用的 json 操作
    【转】python模块导入细节
    【转】python 内置函数总结(大部分)
    【转】MySQL-Select语句高级应用
  • 原文地址:https://www.cnblogs.com/sun7897/p/8656824.html
Copyright © 2011-2022 走看看