首页 > Java > java教程 > 正文

Spring Boot Actuator /info 端点应用版本信息显示教程

聖光之護
发布: 2025-10-01 12:24:25
原创
510人浏览过

Spring Boot Actuator /info 端点应用版本信息显示教程

本教程详细阐述了如何在Spring Boot应用中配置Actuator的/info端点,以正确显示应用程序的版本、名称和描述等信息。文章涵盖了Maven依赖、application.yml配置(包括动态获取pom.xml项目信息)以及Spring Security集成,确保用户能够通过/public/actuator/info路径访问到格式化后的应用元数据。

1. 引言

spring boot actuator 提供了许多生产就绪的特性,帮助我们监控和管理应用程序。其中 /info 端点是一个非常有用的功能,可以展示关于应用程序的通用信息,如版本、构建时间、git提交id等。然而,有时默认配置并不能直接显示期望的应用版本信息,尤其是在从 pom.xml 中动态获取时。本教程将指导您如何正确配置 /info 端点以显示应用程序的详细元数据。

2. 核心依赖配置

首先,确保您的项目中包含了 Spring Boot Actuator 的核心依赖。这个依赖是启用 Actuator 端点功能的基础。

在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
登录后复制

这个 starter 依赖会引入所有必要的 Actuator 组件,包括 /info 端点。

3. application.yml 配置详解

要让 /info 端点显示自定义的应用信息,如名称、描述和版本,我们需要在 application.yml(或 application.properties)文件中进行相应的配置。关键在于启用 env 信息并定义 info.application 部分。

management:
  info:
    env:
      enabled: true # 确保 Actuator 能够读取环境信息,包括 Maven 项目属性
  endpoints:
    web:
      exposure:
        include: info # 暴露 info 端点
      base-path: /public/actuator # 可选:自定义 Actuator 端点的基础路径

info:
  application:
    name: '@project.name@' # 从 pom.xml 中获取项目名称
    description: '@project.description@' # 从 pom.xml 中获取项目描述
    version: '@project.version@' # 从 pom.xml 中获取项目版本
登录后复制

配置说明:

  • management.info.env.enabled: true:这是非常重要的一步。它允许 Actuator 从环境(包括 pom.xml 定义的 Maven 项目属性)中获取信息并暴露到 /info 端点。如果此项为 false 或未配置,即使 info.application 部分存在,也可能无法动态获取到 @project.name@ 等值。
  • management.endpoints.web.exposure.include: info:明确指定要暴露的 Actuator 端点。在这里,我们确保 info 端点是可访问的。
  • management.endpoints.web.base-path: /public/actuator:这是一个可选配置,用于更改 Actuator 端点的默认基础路径(默认为 /actuator)。在某些场景下,您可能希望将 Actuator 端点放置在不同的URL路径下,例如为了更好地与API网关集成或出于安全考虑。
  • info.application.name、info.application.description、info.application.version:这些属性用于定义您应用程序的元数据。使用 @project.name@、@project.description@ 和 @project.version@ 占位符,Spring Boot 会在构建时自动从 pom.xml 文件中读取相应的值并替换它们。这使得应用信息能够与项目的 Maven 配置保持同步,无需手动更新。

4. Spring Security 集成(如果适用)

如果您的 Spring Boot 应用程序集成了 Spring Security,那么默认情况下,Actuator 端点可能需要认证才能访问。为了让 /info 端点(或您自定义的 Actuator 基础路径下的端点)可以公开访问,您需要配置 Spring Security 允许对这些路径进行匿名访问。

以下是一个示例配置,允许对 /public/** 路径(对应 base-path: /public/actuator)的 GET 请求进行匿名访问:

芦笋演示
芦笋演示

一键出成片的录屏演示软件,专为制作产品演示、教学课程和使用教程而设计。

芦笋演示 34
查看详情 芦笋演示
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
        httpSecurity
            // ... 其他安全配置
            .authorizeHttpRequests(customizer -> customizer
                // 允许对 /public/** 路径的 GET 请求进行匿名访问
                .requestMatchers(HttpMethod.GET, "/public/**").permitAll()
                // 其他所有请求需要认证
                .anyRequest().authenticated()
            )
            // ... 其他安全配置
            .csrf(csrf -> csrf.disable()); // 示例:禁用CSRF保护,根据实际需求配置

        return httpSecurity.build();
    }
}
登录后复制

注意事项:

  • 请根据您的 management.endpoints.web.base-path 配置调整 requestMatchers 中的路径。如果未自定义 base-path,则默认为 /actuator。
  • 此配置片段仅展示了如何允许 /public/** 的 GET 请求。您的实际安全配置可能更复杂,请根据您的具体需求进行调整。

5. 验证与测试

完成上述配置后,您可以启动您的 Spring Boot 应用程序。

  1. 启动应用:运行您的 Spring Boot 应用程序。
  2. 访问端点:在浏览器或使用 API 工具(如 Postman)访问 Actuator 的 /info 端点。
    • 如果使用了 management.endpoints.web.base-path: /public/actuator,则访问 http://localhost:8080/public/actuator/info。
    • 如果未自定义 base-path,则访问 http://localhost:8080/actuator/info。

您应该会看到一个 JSON 响应,其中包含您在 application.yml 中配置的应用信息,并且 name、description 和 version 字段将正确显示从 pom.xml 获取的值。

示例输出:

{
  "application": {
    "name": "Spring Sample Application",
    "description": "A Spring Boot application example",
    "version": "1.0.0-SNAPSHOT"
  }
}
登录后复制

6. 总结

通过遵循本教程的步骤,您可以轻松地在 Spring Boot 应用程序中配置 Actuator 的 /info 端点,以显示动态获取的应用程序版本、名称和描述信息。这不仅有助于应用程序的监控和管理,还能确保这些元数据与项目的构建信息保持一致。记住,正确配置 management.info.env.enabled 和处理 Spring Security 访问权限是成功实现此功能的关键。

以上就是Spring Boot Actuator /info 端点应用版本信息显示教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号