2017-02-23 59 views
1

我想在屏幕上打印從配置文件加載的所有屬性。我該怎麼做?我找不到太多的信息。如何打印Spring Boot加載的所有配置?

這是因爲我可能會加載配置文件的參數--spring.config.location,我想看看我是否正確加載文件。

我正在尋找一個控制檯解決方案,我可以在流程實際開始執行任務之前進行打印。

回答

2

如果您使用Spring Boot Actuator,您將獲得一個顯示您信息的/env endpoint

要啓用此添加下面的依賴關係到項目:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-actuator</artifactId> 
</dependency> 

輸出應該是這樣的:

{ 
    "profiles": [ 

    ], 
    "bootstrap": { 

    }, 
    "commandLineArgs": { 

    }, 
    "servletContextInitParams": { 

    }, 
    "systemProperties": { 
    "jboss.i18n.generate-proxies": "true", 
    "java.runtime.name": "Java(TM) SE Runtime Environment", 
    "java.protocol.handler.pkgs": "null|org.springframework.boot.loader", 
    ... 
    }, 
    "systemEnvironment": { 
    "LOCALAPPDATA": "C:\\Windows\\system32\\config\\systemprofile\\AppData\\Local", 
    "PROCESSOR_LEVEL": "6", 
    "ProgramFiles": "C:\\Program Files", 
    "PUBLIC": "C:\\Users\\Public", 
    "NUMBER_OF_PROCESSORS": "2", 
    "windir": "C:\\Windows", 
    ... 
    }, 
    "applicationConfig: [file:.\/application.yml]": { 
    "server.port": 11016, 
    "server.tomcat.access-log-enabled": true, 
    "server.tomcat.access-log-pattern": "%h %l %u %t \"%r\" %>s %b %D", 
    "server.tomcat.basedir": ".\/", 
    ... 
    }, 
    "applicationConfig: [classpath:\/application.yml]": { 
    ... 
    "spring.messages.basename": "messages", 
    "spring.messages.cache-seconds": -1, 
    "spring.messages.encoding": "UTF-8" 
    }, 
    "defaultProperties": { 
    "spring.application.name": "bootstrap" 
    } 
} 

它顯示了所有加載的配置文件,包括默認,系統屬性,屬性通過配置服務加載,...。

+0

不錯,我不知道,但我需要的是一個控制檯解決方案,以便在我的過程開始之前查看配置。 – Sinjuice

相關問題