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

        

  • 相关阅读:
    研究table-cell和overflow
    自己封装jquery的一些方法 链式调用模式
    简单的抖动运动 主要利用offset left 和 setTimeout
    闭包的讲解与简单实用(重新理解)
    操作iframe 的方法与兼容性
    360度全景图片
    数组排序
    怎么让链式调用setTimeout停止
    setInterval 和 setTimeout
    重力碰撞运动的疑惑
  • 原文地址:https://www.cnblogs.com/sun7897/p/8656824.html
Copyright © 2011-2022 走看看