知識庫 / Spring / Spring Boot RSS 訂閱

Spring Boot 顯示自動配置報告

Spring Boot
HongKong
4
01:38 PM · Dec 06 ,2025

1. 概述

Spring Boot 的自動配置機制嘗試根據應用程序的依賴項自動配置應用程序。

在本快速教程中,我們將看到 Spring Boot 如何在啓動時記錄其自動配置報告。

2. 示例應用程序

讓我們編寫一個簡單的 Spring Boot 應用程序,我們將用它在我們的示例中:

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

3. 應用屬性配置方式

在啓動此應用程序時,我們並不會獲得太多關於 Spring Boot 如何以及為何組裝我們應用程序配置的信息。

但是,我們可以通過啓用應用程序的 application.properties 文件中的調試模式,讓 Spring Boot 創建一份報告:

debug=true

或者我們的 application.yml 文件:

debug: true

4. 使用命令行方式

或者,如果我們不想使用屬性文件方法,可以通過啓動應用程序時使用 –debug 選項來觸發自動配置報告

$ java -jar myproject-0.0.1-SNAPSHOT.jar --debug

5. 報告輸出

自動配置報告包含有關 Spring Boot 在類路徑上發現並自動配置的類的信息。它還顯示了 Spring Boot 已知的但未在類路徑上找到的類的信息。

並且,由於我們設置了debug=true,因此我們在輸出中可以看到它:

============================
CONDITIONS EVALUATION REPORT
============================


Positive matches:
-----------------

   AopAutoConfiguration matched:
      - @ConditionalOnClass found required classes 'org.springframework.context.annotation.EnableAspectJAutoProxy', 
        'org.aspectj.lang.annotation.Aspect', 'org.aspectj.lang.reflect.Advice', 'org.aspectj.weaver.AnnotatedElement'; 
        @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
      - @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)

   AopAutoConfiguration.CglibAutoProxyConfiguration matched:
      - @ConditionalOnProperty (spring.aop.proxy-target-class=true) matched (OnPropertyCondition)

   AuditAutoConfiguration#auditListener matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.listener.AbstractAuditListener; 
        SearchStrategy: all) did not find any beans (OnBeanCondition)

   AuditAutoConfiguration.AuditEventRepositoryConfiguration matched:
      - @ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.AuditEventRepository; 
        SearchStrategy: all) did not find any beans (OnBeanCondition)

   AuditEventsEndpointAutoConfiguration#auditEventsEndpoint matched:
      - @ConditionalOnBean (types: org.springframework.boot.actuate.audit.AuditEventRepository; 
        SearchStrategy: all) found bean 'auditEventRepository'; 
        @ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.AuditEventsEndpoint; 
        SearchStrategy: all) did not find any beans (OnBeanCondition)
      - @ConditionalOnEnabledEndpoint no property management.endpoint.auditevents.enabled found 
        so using endpoint default (OnEnabledEndpointCondition)


Negative matches:
-----------------

   ActiveMQAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 
           'org.apache.activemq.ActiveMQConnectionFactory' (OnClassCondition)

   AopAutoConfiguration.JdkDynamicAutoProxyConfiguration:
      Did not match:
         - @ConditionalOnProperty (spring.aop.proxy-target-class=false) did not find property 
           'proxy-target-class' (OnPropertyCondition)

   ArtemisAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 
           'org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory' (OnClassCondition)

   AtlasMetricsExportAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.micrometer.atlas.AtlasMeterRegistry' 
           (OnClassCondition)

   AtomikosJtaConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'com.atomikos.icatch.jta.UserTransactionManager' 
           (OnClassCondition)

6. 結論

在本快速教程中,我們學習瞭如何顯示和讀取 Spring Boot 自定義配置報告。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.