• SprinBoot易学难精


    Spring Boot易学难精

    易学

    • 组件自动装配:规约大于配置,专注核心业务
    • 外部化配置:一次构建、按需调配,到处运行
    • 嵌入式容器:内纸容器、无序部署、独立运行
    • Spring Boot Stater:简化依赖、按需装配、自我包含
    • Production-Ready:一站式运维、生态无缝整合

    难精

    • 组件自动装配:模式注解、@Enable模块、条件装配、加载机制
    • 外部化配置:Environment抽象、生命周期、破坏性变更
    • 嵌入式容器:Servlet Web容器、Reactive Web容器
    • Spring Boot Stater:依赖管理、装配条件、装配顺序
    • Production-Ready:健康检查、数据指标、@Endpoint管控

    Spring Boot三大特性

    • 组件自动装配:Web MVC、 Web Flux和JDBC
    • 嵌入式Web容器:Tomcat、Jetty和所以及(Undertow)
    • 生产准备特性:指标、健康检查、外部化配置等

    核心特性

    组件自动装配

      激活:@EnableAutoConfiguration

      配置:/META--INF/spring.factories

      实现:xxxAutoConfiguartion

     在Spring Boot项目中都有如下的启动类:

      

      最重要的就是@SpringBootApplicationSpringApplication.run()其中

      @SpringBootApplication注解部分:

      

       当spring boot扫描到@EnableAutoConfiguration注解时
      则会将spring-boot-autoconfigure.jar/META-INF/spring.factories文件中org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的value里的所有xxxConfiguration类加载到IOC容器中。
      而xxxAutoConfiguration类一般都会有@ConditionalOnxxx注解,通过这些条件注解来判断是否真正的创建xxxConfiguration对象。
      spring boot的各种spring-boot-starter-xxx.jar也正是居于此注解来达到自动装配的目的。


      @EnableAutoConfiguration注解部分:

      

      其中最关键的要属@Import(AutoConfigurationImportSelector.class),借助AutoConfigurationImportSelector,@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。

    嵌入式Web容器

      web Servlet:Tomcat、Jetty和Undertow

      web Reactive:Netty Web Server

    生产准备特性

      指标:/actuator/metrics

      健康检查:/actuator/health

      外部化配置:/actuator/configprops

  • 相关阅读:
    shell脚本
    vim使用快捷键
    logback.xml_appender配置
    vim配置文件
    sed
    使用linux服务器安装wordpress博客详细教程
    JDBC为什么要使用PreparedStatement而不是Statement
    Jsp技术介绍
    jsp的appilication.getInitParameter()方法无法获取到值的问题
    ubuntu 插网线无法上网解决方案
  • 原文地址:https://www.cnblogs.com/echola/p/11058970.html
Copyright © 2020-2023  润新知