返回顶部
首页 > 资讯 > 后端开发 > Python >Spring Boot 注解方式自定义Endpoint详解
  • 610
分享到

Spring Boot 注解方式自定义Endpoint详解

2024-04-02 19:04:59 610人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录概述准备编写自定义Endpoint配置启动&测试注意Spring Boot 常用endpoint的使用Actuator一些常用 Endpoint如何访问 Actuator

概述

在使用spring Boot的时候我们经常使用actuator,健康检查,bus中使用/refresh等。这里记录如何使用注解的方式自定义Endpoint。可用于满足一些服务状态监控,或者优雅停机等。

准备

Spring Boot项目,pom中加入:


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

编写自定义Endpoint


@Configuration
@Endpoint(id = "my-endpoint")
public class MyEndpoint {
 
    @ReadOperation
    public Map<String, Object> endpoint() {
        Map<String, Object> map = new HashMap<>(16);
        map.put("message", "this is my endpoint");
        return map;
    }
}

配置


management.endpoints.WEB.exposure.include=my-endpoint

启动&测试

启动后可以看到日志


Mapped "{[/actuator/my-endpoint],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+JSON || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebmvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.Http.httpservletRequest,java.util.Map<java.lang.String, java.lang.String>)

注意

  • @EndPoint中的id不能使用驼峰法,需要以-分割
  • @Spring Boot会去扫描@EndPoint注解下的@ReadOperation, @WriteOperation, @DeleteOperation注解,分别对应生成Get/Post/Delete的Mapping。注解中有个produces参数,可以指定media type, 如:application/json等。

Spring Boot 常用endpoint的使用

Actuator

目的

  • 监控并管理应用程序

监控:让我们去发现和了解程序的运行状况各种指标

管理:比如说通过Actuator去做一个shutdown功能,通过访问一个特定的url去操作,默认是不开启的,另外 还可以在运行的过程中 对日志进行调整

访问方式

  • HTTP
  • JMX

默认 会把更多的 Actuator 暴露在JMX上面

依赖

  • spring-boot-starter-actuator

一些常用 Endpoint

只有health和info 默认是可以通过http 进行访问的

  • shutdown 是默认不开启的一个
  • threaddump 去看线程情况
  • prometheus 虽然是默认开启 但是 必须在pom文件上加入相关依赖 才能提供支持

如何访问 Actuator Endpoint

HTTP 访问

  • /actuator/<id >

端口与路径

  • management.server.address=

Actuator Endpoint 发布的地址

  • management.server.port=

Actuator Endpoint 发布的端口号

  • management.endpoints.web.base-path=/actuator

自定义端口

  • management.endpoints.web.path-mapping.<id>=路径

修改端点的访问路径(映射),端点默认使用的是它的 值

开启 Endpoint

  • management.endpoint.<id>.enabled=true

开启名为id的 Endpoint

  • management.endpoints.enabled-by-default=false

端点启用是选择性加入而不是选择性排除。表示禁用了所有端点

暴露 Endpoint

  • management.endpoints.jmx.exposure.exclude=

jmx方式排除需要公开的端点

  • management.endpoints.jmx.exposure.include=*

jmx方式包含需要公开的端点

  • management.endpoints.web.exposure.exclude=

http方式排除需要公开的端点

  • management.endpoints.web.exposure.include=info, health

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Spring Boot 注解方式自定义Endpoint详解

本文链接: https://lsjlt.com/news/137046.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring Boot 注解方式自定义Endpoint详解
    目录概述准备编写自定义Endpoint配置启动&测试注意Spring Boot 常用endpoint的使用Actuator一些常用 Endpoint如何访问 Actuator...
    99+
    2024-04-02
  • Spring Boot之FilterRegistrationBean-自定义Filter详解
    Spring Boot之FilterRegistrationBean-自定义Filter 项目老的用spring写的,新的升级到了springboot,原代码中有在web.xml中定...
    99+
    2024-04-02
  • 详解Spring Boot集成MyBatis(注解方式)
    MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。spring Boot是能支持快速创建Spring应用的Java框架。本文通过一个例子来学习Spring B...
    99+
    2023-05-31
    spring boot mybatis
  • Spring Boot console log 格式自定义方式
    Spring Boot console log 格式自定义 Spring Boot 默认使用Logback 新增配置项:logging.pattern.console loggi...
    99+
    2024-04-02
  • Spring@Component自定义注解实现详解
    目录引子Java里的注解注解是什么元注解注解的保存策略自定义注解注解元素注解处理器注解是什么自己写一个@Component注解准备工作代码实现准备@MyComponent注解准备一个...
    99+
    2024-04-02
  • 详解Spring Boot中如何自定义SpringMVC配置
    目录前言一、SpringBoot 中 SpringMVC 配置概述二、WebMvcConfigurerAdapter 抽象类三、WebMvcConfigurer 接口四、WebMvc...
    99+
    2024-04-02
  • Spring spel获取自定义注解参数值方式
    目录spel获取自定义注解参数值1.注解类2.注解使用3.aop中处理 spel在注解中的使用1 语法说明2. 基本用法4 #{…}和${…}s...
    99+
    2024-04-02
  • Spring如何自定义注解
    这篇文章将为大家详细讲解有关Spring如何自定义注解,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字段注解字段注解一般是用于校验字段是否满足要求,hibernate-validate依赖就提供了很多校验...
    99+
    2023-06-15
  • spring boot之使用spring data jpa的自定义sql方式
    目录spring data jpa介绍自定义SQL查询jpa两种自定义SQL的方式1. 原生SQL2. 实体类SQLspring data jpa介绍 PA(Java Persist...
    99+
    2024-04-02
  • Spring Boot集成redis,key自定义生成方式
    一)自定义redis key生成策略 @Configuration:表示当前类属于一个配置类,类似于一个spring.cfg.xml。 @EnableCaching:表示支持启用缓存...
    99+
    2024-04-02
  • Spring Boot如何读取自定义外部属性详解
    测试的环境:Spring Boot2 + Maven +lombok 准备需要用到的基础类: public class People { private String n...
    99+
    2024-04-02
  • Java自定义注解的详解
    Java自定义注解Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容。在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解。Java1.5引入了注解,当前许多java框架中大量使用...
    99+
    2023-05-31
    java 自定义 注解
  • 使用Spring自定义实现IOC和依赖注入(注解方式)
    目录大致思路:注解实现方式:xml实现方式:1. 引入相关jar2. 定义注解类ExtService是注解类的, ExtResource是注解属性的3.定义一个借口4. 接口和使用注...
    99+
    2024-04-02
  • 使用spring boot通过自定义注解打印所需日志
    spring boot自定义注解打印日志 在实际项目中可能需要监控每个接口的请求时间以及请求参数等相关信息,那么此时我们想到的就是两种实现方式,一种是通过拦截器实现,另一种则通过AO...
    99+
    2024-04-02
  • Spring Boot之Validation自定义实现方式的总结
    目录Validation自定义实现方式Spring Boot Validation定制使用自定义的注解自定义执行Validator自定义Validation注解场景说明源码总结Val...
    99+
    2024-04-02
  • JAVA自定义注解详情
    目录原理:元注解:@Retention参数讲解:案例:给一个类的String属性设置默认值总结原理: 注解的本质是继承Annotation的特殊接口,其具体实现类是Java运行时生成...
    99+
    2024-04-02
  • Java注解详解及实现自定义注解的方法
    目录概念‍♀️作用⛹JDK中预定义的一些注解注解生成文档案例自定义注解格式本质属性:接口中的抽象方法元注解:用于描述注解的注解‍♂️在程序使用(解析)注解:获取注解中...
    99+
    2024-04-02
  • 详解IntelliJ IDEA 自定义方法注解模板
    最近没啥事开始正式用Eclipse 转入 idea工具阵营,毕竟有70%的开发者在使用idea开发,所以它的魅力可想而知。刚上手大概有一天,就知道它为啥取名为 intelli(智能化)了,确实很智能,这还是一些小小的细节,当然idea也有它...
    99+
    2023-05-30
    intellij idea 注解
  • SpringBoot 自定义注解之脱敏注解详解
    目录自定义注解之脱敏注解一、脱敏后的效果二、代码1.脱敏注解2.定义脱敏类型3.敏感工具类4.脱敏序列化信息小结一下自己手写的一个高效自定义字符串脱敏注解自己写了个 仅供参考自定义注...
    99+
    2024-04-02
  • spring boot自动装配之@ComponentScan注解用法详解
    目录1.@ComponentScan注解作用2. @ComponentScan注解属性3. @ComponentScan过滤规则说明4. 自定义扫描过滤规则5. @Component...
    99+
    2023-05-18
    @componentscan注解 @componentscan注解用法 componentscan作用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作