springboot(1)

精要:

  • 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。

  • 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。

  • 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序, 无需传统项目构建。

  • Actuator:提供在运行时检视应用程序内部情况的能力:

    • Spring应用程序上下文里配置的Bean

    • Spring Boot的自动配置做的决策

    • 应用程序取到的环境变量、系统属性、配置属性和命令行参数

    • 应用程序里线程的当前状态

    • 应用程序最近处理过的HTTP请求的追踪情况

    • 各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标

从本质上来说,Spring Boot就是Spring,它做了那些没有它你自己也会去做的Spring Bean配置。

springboot自动配置

@SpringBootApplication开启了Spring的组件扫描和Spring Boot的自动配置功能,@SpringBootApplication将三个有用的注解组合在了一起。

1.Spring的@Configuration:标明该类使用Spring基于Java的配置。

2.Spring的@ComponentScan:启用组件扫描,这样你写的Web控制器类和其他组件才能被 自动发现并注册为Spring应用程序上下文里的Bean。

3.Spring Boot 的 @EnableAutoConfiguration :这个不起眼的小注解也可以称为 @Abracadabra,就是这一行配置开启了Spring Boot自动配置

        1.@AutoConfigurationPackage:自动配置包。@Import({Registrar.class}):包的注册器

        2.@Import({AutoConfigurationImportSelector.class}):自动导入包的核心

                SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader());

                SpringFactoriesLoader的静态方法

                loadFactoryNames

                loadSpringFactories

                classLoader.getResources(FACTORIES_RESOURCE_LOCATION);

                META-INF/spring.factories

最终在META-INF/spring.factories,进行自动配置。

@Conditional

springboot(1)_第1张图片

 

你可能感兴趣的:(spring,boot,后端,java)