最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot查看項(xiàng)目配置信息的幾種常見方法

 更新時(shí)間:2025年04月23日 09:19:39   作者:愛的嘆息  
這篇文章主要為大家詳細(xì)介紹了查看Spring Boot項(xiàng)目所有配置信息的幾種方法,包括 Actuator端點(diǎn),日志輸出,代碼級(jí)獲取等方式并附帶詳細(xì)步驟和示例,希望對(duì)大家有一定的幫助

以下是查看Spring Boot項(xiàng)目所有配置信息的幾種方法,包括 Actuator端點(diǎn)、日志輸出代碼級(jí)獲取 等方式,附帶詳細(xì)步驟和示例:
 

1. 使用Spring Boot Actuator

Actuator是Spring Boot提供的監(jiān)控和管理工具,包含/configprops端點(diǎn)可查看所有配置屬性。

步驟

1.1 添加依賴

在pom.xml中添加Actuator依賴:

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

1.2 配置暴露端點(diǎn)

在application.yml或application.properties中配置暴露configprops端點(diǎn):

management:
  endpoints:
    web:
      exposure:
        include: "configprops,health"  # 暴露configprops和health端點(diǎn)

1.3 訪問配置信息

啟動(dòng)應(yīng)用后,訪問:

http://localhost:{port}/actuator/configprops

例如:http://localhost:8080/actuator/configprops

輸出示例

{
  "configurations": [
    {
      "name": "spring.http",
      "properties": {
        "encoding.auto": {
          "value": "false",
          "origin": "SpringBootAutoConfiguration"
        },
        "encoding.charset": {
          "value": "UTF-8",
          "origin": "Spring Boot default"
        }
      }
    },
    ...
  ]
}

2. 通過日志輸出配置信息

在日志中直接打印所有配置屬性。

步驟

2.1 配置日志級(jí)別

在application.yml中啟用配置屬性日志:

logging:
  level:
    org.springframework.boot.context.properties: DEBUG

2.2 啟動(dòng)應(yīng)用

啟動(dòng)應(yīng)用后,日志中會(huì)輸出所有配置屬性的加載信息,例如:

DEBUG 12345 --- [           main] o.s.b.c.p.PropertySourceBootstrapConfiguration : Located property source: [...]
DEBUG 12345 --- [           main] o.s.b.c.p.PropertySourceBootstrapConfiguration : Adding property source: [...]

2.3 查看完整配置

若需更詳細(xì)的輸出,可在啟動(dòng)時(shí)添加參數(shù):

java -jar your-app.jar --show-config

此參數(shù)會(huì)輸出所有合并后的配置屬性(Spring Boot 2.3+支持)。

3. 通過代碼獲取配置信息

在代碼中注入Environment或使用@Value獲取配置屬性。

3.1 獲取所有配置

import org.springframework.core.env.Environment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConfigController {
    @Autowired
    private Environment env;

    @GetMapping("/all-config")
    public Map<String, Object> getAllProperties() {
        return env.getPropertySources()
                .stream()
                .flatMap(ps -> ps.getPropertyNames().stream()
                        .map(name -> new AbstractMap.SimpleEntry<>(name, ps.getProperty(name))))
                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    }
}

訪問接口

訪問:

http://localhost:8080/all-config

4. 使用Spring Boot DevTools的/env端點(diǎn)

DevTools提供了/env端點(diǎn),可查詢特定配置屬性。

步驟

4.1 添加依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
</dependency>

4.2 訪問端點(diǎn)

訪問:

http://localhost:8080/actuator/env

或查詢特定屬性:

http://localhost:8080/actuator/env/spring.datasource.url

5. 使用@ConfigurationProperties綁定并打印

將配置屬性綁定到Bean并打印。

步驟

5.1 創(chuàng)建配置類

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "your.prefix")
public class YourConfig {
    private String property1;
    // getters/setters
}

5.2 打印配置

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

@Component
public class ConfigPrinter implements CommandLineRunner {
    @Autowired
    private YourConfig config;

    @Override
    public void run(String... args) throws Exception {
        System.out.println("Config Property1: " + config.getProperty1());
    }
}

6.關(guān)鍵配置對(duì)比表格

方法適用場景優(yōu)點(diǎn)缺點(diǎn)
Actuator /configprops開發(fā)/生產(chǎn)環(huán)境監(jiān)控直接通過HTTP接口查看所有配置需配置安全策略(避免暴露敏感信息)
日志輸出調(diào)試或啟動(dòng)時(shí)快速查看無侵入性,適合臨時(shí)調(diào)試需手動(dòng)解析日志內(nèi)容
代碼獲取需要程序內(nèi)處理配置信息靈活控制輸出格式需編寫代碼
DevTools /env開發(fā)環(huán)境快速查詢支持查詢單個(gè)屬性需依賴DevTools模塊
@ConfigurationProperties需要綁定配置到Bean時(shí)類型安全,符合Spring規(guī)范需針對(duì)每個(gè)配置前綴編寫B(tài)ean

7.注意事項(xiàng)

1.安全配置:

生產(chǎn)環(huán)境需限制Actuator端點(diǎn)訪問,例如:

management:
  endpoints:
    web:
      exposure:
        include: "health"
    security:
      enabled: true

2.敏感信息過濾:

避免暴露敏感配置(如密碼),可通過management.endpoints.web.cors.allowed-origins或安全策略控制訪問。

3.性能影響:

/configprops端點(diǎn)在配置復(fù)雜時(shí)可能返回大量數(shù)據(jù),需注意性能。

8.完整示例代碼

application.yml
spring:
  application:
    name: config-demo
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root

management:
  endpoints:
    web:
      exposure:
        include: "configprops,health"

pom.xml依賴

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

通過上述方法,可根據(jù)需求選擇最適合的配置查看方式。如需進(jìn)一步優(yōu)化或解決特定問題(如安全配置、日志過濾),可提供具體場景!

到此這篇關(guān)于SpringBoot查看項(xiàng)目配置信息的幾種常見方法的文章就介紹到這了,更多相關(guān)SpringBoot查看項(xiàng)目配置信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • @validated注解異常返回JSON值方式

    @validated注解異常返回JSON值方式

    這篇文章主要介紹了@validated注解異常返回JSON值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java Synchronized的偏向鎖詳細(xì)分析

    Java Synchronized的偏向鎖詳細(xì)分析

    synchronized作為Java程序員最常用同步工具,很多人卻對(duì)它的用法和實(shí)現(xiàn)原理一知半解,以至于還有不少人認(rèn)為synchronized是重量級(jí)鎖,性能較差,盡量少用。但不可否認(rèn)的是synchronized依然是并發(fā)首選工具,本文就來詳細(xì)講講
    2023-04-04
  • MyBatis-Plus更新對(duì)象時(shí)將字段值更新為null的四種常見方法

    MyBatis-Plus更新對(duì)象時(shí)將字段值更新為null的四種常見方法

    MyBatis-Plus 是一個(gè) MyBatis 的增強(qiáng)工具,在簡化開發(fā)、提高效率方面表現(xiàn)非常出色,而,在使用 MyBatis-Plus 更新對(duì)象時(shí),默認(rèn)情況下是不會(huì)將字段值更新為 null 的,如果你需要將某些字段的值更新為 null,有幾種方法可以實(shí)現(xiàn),本文將介紹幾種常見的方法
    2024-11-11
  • 基于SpringBoot+Redis實(shí)現(xiàn)分布式鎖

    基于SpringBoot+Redis實(shí)現(xiàn)分布式鎖

    本文主要介紹了基于SpringBoot+Redis實(shí)現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Spring?AOP配置文件方式入門教程詳解

    Spring?AOP配置文件方式入門教程詳解

    spring aop是一個(gè)面向切面的編程,在自己第一遍學(xué)習(xí)的時(shí)候,感覺aop沒有什么作用,但是真實(shí)接觸下來,感覺spring aop還是很有用途的,這篇文章主要介紹了Spring?AOP配置文件方式入門教程的相關(guān)資料,需要的朋友可以參考下
    2025-11-11
  • Java使用Semaphore對(duì)單接口進(jìn)行限流

    Java使用Semaphore對(duì)單接口進(jìn)行限流

    本篇主要講如何使用Semaphore對(duì)單接口進(jìn)行限流,主要有三種方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • SpringBoot縮小打包體積的詳細(xì)步驟

    SpringBoot縮小打包體積的詳細(xì)步驟

    縮小打包體積是指通過各種優(yōu)化手段,減少Spring Boot應(yīng)用最終部署包(通常是JAR文件)的大小,這在微服務(wù)架構(gòu) 和云原生部署場景中尤為重要,因此本文給大家介紹了SpringBoot縮小打包體積的詳細(xì)步驟,需要的朋友可以參考下
    2026-03-03
  • java批量下載將多個(gè)文件(minio中存儲(chǔ))壓縮成一個(gè)zip包代碼示例

    java批量下載將多個(gè)文件(minio中存儲(chǔ))壓縮成一個(gè)zip包代碼示例

    在Java應(yīng)用程序中有時(shí)我們需要從多個(gè)URL地址下載文件,并將這些文件打包成一個(gè)Zip文件進(jìn)行批量處理或傳輸,這篇文章主要給大家介紹了關(guān)于java批量下載將多個(gè)文件(minio中存儲(chǔ))壓縮成一個(gè)zip包的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Java Stream.reduce()方法操作實(shí)際案例講解

    Java Stream.reduce()方法操作實(shí)際案例講解

    reduce是Java Stream API中的一個(gè)核心操作,用于將流中的元素組合起來產(chǎn)生單個(gè)結(jié)果,這篇文章主要介紹了Java Stream.reduce()方法操作實(shí)際案例講解,需要的朋友可以參考下
    2025-05-05
  • Spring實(shí)戰(zhàn)之獲取方法返回值操作示例

    Spring實(shí)戰(zhàn)之獲取方法返回值操作示例

    這篇文章主要介紹了Spring實(shí)戰(zhàn)之獲取方法返回值操作,涉及spring配置文件與方法返回值操作相關(guān)使用技巧,需要的朋友可以參考下
    2019-12-12

最新評(píng)論

西吉县| 修文县| 微山县| 武汉市| 大宁县| 兰溪市| 阳泉市| 广汉市| 阳原县| 新乡市| 古丈县| 天气| 玉屏| 井冈山市| 南岸区| 禹城市| 隆尧县| 出国| 泸定县| 文水县| 济源市| 佳木斯市| 保德县| 彩票| 京山县| 读书| 兰西县| 即墨市| 仁怀市| 西盟| 临安市| 灵宝市| 绩溪县| 宁乡县| 怀集县| 息烽县| 涪陵区| 称多县| 方山县| 唐山市| 岳阳县|