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