zoukankan      html  css  js  c++  java
  • spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点

    1、@SpringBootApplication

    它是一个复合Annotation,实际上对于SpringBoot应用来说,最重要的是只有三个

    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Inherited
    // 最重要的三个 @Configuration @EnableAutoConfiguration @ComponentScan
    public @interface SpringBootApplication{ ... }

    每次写三个Annotation过于繁琐

    @Configuration
    @EnableAutoConfiguration
    @ComponentScan
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBoot01Application.class, args);
        }
    }

    可以简化,写一个@SpringBootApplication一站式复合

    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBoot01Application.class, args);
        }
    }

    2、@ComponentScan

    功能:自动扫描并加载符合条件的组件或bean定义,然后加载到容器中

    3、@EnableAutoConfiguration,也是一个复合Annotation

    @Target(ElementType.TYPE)
    @Retention(RententionPolicy.RUNTIME)
    @Documented
    @Inherited
    @AutoConfigurationPackage
    @Import(EnableAutoConfigurationImportSelector.class)
    public @interface EnableAutoConfiguration{ ... }

    最关键的是@Import,将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。

    借助Spring框架原有的工具类SpringFactoriesLoader的支持,@EnableAutoConfiguration才能实现"智能"的自动化配置。

      -- End --待续~

  • 相关阅读:
    HDU 1078 FatMouse and Cheese (简单DP)
    HDU 1052 Tian Ji The Horse Racing (贪心)
    HDU 4432 Sum of divisors 第37届ACM/ICPC天津现场赛B题 (简单题)
    HDU 1079 Calendar Game (博弈)
    HDU 4438 Hunters 第37届ACM/ICPC 天津赛区现场赛H题(超级水的题目)
    php级联
    C++运算符重载
    C++循环语句
    C++类复制构造函数
    C++ struct,union和enum
  • 原文地址:https://www.cnblogs.com/lmei/p/7229564.html
Copyright © 2011-2022 走看看