zoukankan      html  css  js  c++  java
  • springboot之自动配置

    我们来看主程序类。

    package com.gong;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    //pringBootApplication用于标识这是一个主程序
    @SpringBootApplication
    public class HelloWorldMainApp {
        public static void main(String[] args) {
            //Spring应用启动起来
            SpringApplication.run(HelloWorldMainApp.class,args);
        }
    }

    用@SpringBootApplication标识说明这个类是主配置类。springboot就应该运行这个类的Main方法来启动springboot应用。

    我们查看该注解里面有什么:

    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Inherited
    @SpringBootConfiguration
    @EnableAutoConfiguration
    @ComponentScan(
        excludeFilters = {@Filter(
        type = FilterType.CUSTOM,
        classes = {TypeExcludeFilter.class}
    ), @Filter(
        type = FilterType.CUSTOM,
        classes = {AutoConfigurationExcludeFilter.class}
    )}
    )
    public @interface SpringBootApplication {
        ......
    }

    一、@SpringbootConfiguration

    用@SpringBootConfiguration标识springboot配置类:标注在某个类上,表示这是一个配置类;@SpringBootConfiguration注解里面:

    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Configuration
    public @interface SpringBootConfiguration {
    }

    Configuration配置类上标识这个注解,配置类也是容器中的一个组件。

    二、EnableAutoConfiguration

    开启自动配置功能,以前需要配置的东西,springboot帮我们进行自动配置。

    我们看看里面有什么:

    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Inherited
    @AutoConfigurationPackage //自动配置包
    @Import({EnableAutoConfigurationImportSelector.class})
    public @interface EnableAutoConfiguration {
        String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";
    
        Class<?>[] exclude() default {};
    
        String[] excludeName() default {};
    }

    自动配置包又被表示了@Import({Registrar.class}),spring的底层注解@import,给容器导入一个组件。即将主配置类即(SpringBootApplication标注的类)的所在的包以及所有子包里面的所有组件扫描到spring容器。

  • 相关阅读:
    特征选取1-from sklearn.feature_selection import SelectKBest
    使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布
    风控8-收码平台
    风控7-同盾设备指纹
    互联网黑产剖析_虚假号码
    风控3_iv算法详细解释
    woe_iv原理和python代码建模
    逾期30天和60天的回款概率
    (剑指Offer)面试题15:链表中倒数第k个结点
    (剑指Offer)面试题14:调整数组顺序使奇数位于偶数前面
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12245625.html
Copyright © 2011-2022 走看看