You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.x中DefaultWebMvcTagsProvider废弃及WebMvcTags获取问题

Spring Boot 3.x 中 DefaultWebMvcTagsProvider 废弃与 WebMvcTags 替代方案

核心替代类说明

  • 废弃的 org.springframework.boot.actuate.metrics.web.servlet.DefaultWebMvcTagsProvider 可替换为 org.springframework.boot.actuate.metrics.web.servlet.DefaultServletTagsProvider,它继承自统一的 ServletTagsProvider 接口,提供Servlet环境下请求指标标签的生成能力,逻辑与原类基本一致。
  • 原 WebMvcTags 类已被移除,对应的标签生成功能由 org.springframework.boot.actuate.metrics.web.servlet.ServletTags 承接,该类包含了诸如method(HttpServletRequest request)、uri(HttpServletRequest request, HandlerMapping handlerMapping)等静态方法,覆盖原WebMvcTags的核心功能。

示例:自定义Servlet标签提供者

如果需要扩展标签生成逻辑,可以继承DefaultServletTagsProvider实现自定义类:

import org.springframework.boot.actuate.metrics.web.servlet.DefaultServletTagsProvider;
import org.springframework.boot.actuate.metrics.web.servlet.ServletTags;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.Tags;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

public class CustomServletTagsProvider extends DefaultServletTagsProvider {
    @Override
    public Iterable<Tag> getTags(HttpServletRequest request, HttpServletResponse response, Object handler, Throwable exception) {
        // 复用父类生成的默认标签
        Iterable<Tag> defaultTags = super.getTags(request, response, handler, exception);
        // 添加自定义标签(示例:额外添加请求方法和URI标签)
        return Tags.concat(defaultTags, ServletTags.method(request), ServletTags.uri(request, null));
    }
}

注册自定义标签提供者

将自定义类注册为Spring Bean即可生效:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.boot.actuate.metrics.web.servlet.ServletTagsProvider;

@Configuration
public class MetricsConfiguration {
    @Bean
    public ServletTagsProvider servletTagsProvider() {
        return new CustomServletTagsProvider();
    }
}

内容的提问来源于stack exchange,提问作者raksha n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:58:16