SpringBoot4大核心组件


SpringBoot4大核心组件

starter, autoconfigure, CLI 以及actuator

Starter

  • 官方提供的 starter 命名:spring-boot-starter-xxx

  • 非官方的 starter 命名:xxx-spring-boot-starter

    其中 xxx 就是我们想要依赖的组件或者 jar 包。引入之后通过简单的约定配置就可以正常使用。

  • Starter 帮我们封装好了所有需要的依赖,避免我们自己添加导致的一些Jar包冲突或者缺少包的情况;

  • Starter 帮我们自动注入了需要的 Bean 实例到 Spring 容器中,不需要我们手动配置(这个可以说是 starter 干的,但实际上并不是);

所以: starter 包的内容就是 pom 文件,就是一个依赖传递包。

Spring Boot Autoconfigure

autoconfigure 在我们的开发中并不会被感知,因为它是存在与我们的 starter 中的。所以我们的每个 starter 都是依赖 autoconfigure 的

autoconfigure 内容是配置 Bean 实例到 Spring 容器的实际代码实现包,然后提供给 starter 依赖。所以说配置 Bean 实例到Spring容器中实际是 autoconfigure 做的,因为是 starter 依赖它,所以也可以说是 starter 干的。

所以:autocinfigure 是 starter 体现出来的能力的代码实现

Spring Boot CLI

Spring Boot CLI 是一个命令行使用 Spring Boot 的客户端工具;主要功能如下:

  • 运行 groovy 脚本
  • 打包 groovy 文件到 jar
  • 初始化 Spring Boot 项目
  • 其他

详见官网

Spring Boot actuator

actuator 是 Spring Boot 的监控插件,本身提供了很多接口可以获取当前项目的各项运行状态指标。

使用步骤:

  1. 添加依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    
  2. 配置需要开启监控的端点

    management:
      endpoint:
        health: ## 开启健康监控端点
          enabled: true
        beans: ## 开启Bean实例监控端点
          enabled: true
    

    重要端点:

    • health端点:端点会聚合你程序的健康指标,来检查程序的健康情况,端点有很多自动配置的健康指示器:如 redis、rabbitmq、db 等组件。

    • metrics端点:用来返回当前应用的各类重要度量指标,比如:内存信息、线程信息、垃圾回收信息、tomcat、数据库连接池等。

    • loggers端点:暴露了我们程序内部配置的所有 logger 的信息,能够动态修改你的日志等级;只需要发起一个 URL 为http://localhost:8080/actuator/loggers/rootPOST请求,POST 报文如下:

      {  
         "configuredLevel": "DEBUG"  
      }
      
    • info端点:可以用来展示你程序的信息。我理解过来就是一些程序的基础信息。并且你可以按照自己的需求在配置文件application.properties中个性化配置(默认情况下,该端点只会返回一个空的 json 内容。)

    • beans端点:会返回 Spring 容器中所有 bean 的别名、类型、是否单例、依赖等信息

    • heapdump端点:会自动生成一个 Jvm 的堆文件 heapdump。我们可以使用 JDK 自带的 Jvm 监控工具 VisualVM 打开此文件查看内存快照。

    • threaddump端点:主要展示了线程名、线程 ID、线程的状态、是否等待锁资源、线程堆栈等信息。方便我们在日常定位问题的时候查看线程的情况。

    • shutdown端点:属于操作控制类端点,可以优雅关闭 Spring Boot 应用。要使用这个功能首先需要在配置文件中开启:

      management.endpoint.shutdown.enabled=true
      
  3. 启动服务并验证

  4. 查看各个监控信息

    浏览器访问监控地址:http://localhost:9500/actuator


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM