zoukankan      html  css  js  c++  java
  • Spring Boot自动配置

    主程序类、主入口类

    @SpringBootApplication;spring boot标注在某个类上说明这个类是spring boot的主配置类,spring boot就应该运行这个类的main方法来启动spring boot应用;

    @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:spring boot的配置类
    标注在某个类上,表示这是一个spring boot的配置类;
    @Configuration:配置类傻瓜 来标志这个注解;
    配置类----配置文件 配置类也是容器中的一个组件 @Component

    @EnableAutoConfiguration:开启自动配置

    以前我们需要的东西 spring boot自动帮我们配置,@EnableAutoConfiguration告诉spring boot开启自动配置功能,这样自动配置才能生效

    @AutoConfigurationPackage
    @Import({AutoConfigurationImportSelector.class})
    public @interface EnableAutoConfiguration {
        String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";
    
        Class<?>[] exclude() default {};
    @AutoConfigurationPackage:自动配置包
    @Import({AutoConfigurationPackage.Registrar.class})
    spring的底层注解@Import,给容器中导入一个组件;导入的组件由AutoConfigurationPackage.Registrar.class;
    将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器;
    @Import({AutoConfigurationImportSelector.class})
    给容器中导入组件?
    EnableAutoConfigurationImportSelector:导入哪些组件的选择器;
    将所有需要导入的组件以全雷鸣的方式返回;这些组件就会被添加到容器中;
    会给容器中导入非常多的自动配置类(xxxAutoConfiguration):就是给容器中导入这个场景所需要的所有组件,并配置好这些组件
     
  • 相关阅读:
    mysql 权限问题
    触发器作用
    带有循环功能的存储过程
    带有条件判断的存储过程
    数据存储 三大范式-----------待续
    存储过程自 带条件判断的存储过程
    线程异步更新UI
    TextBox只能输入数字
    C#中无边框窗体移动或拖控件移动窗体
    classloader原理
  • 原文地址:https://www.cnblogs.com/gaofz/p/10384444.html
Copyright © 2011-2022 走看看