栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

使用Spring Boot Actuator构建应用程序

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Spring Boot Actuator构建应用程序

参考:https://spring.io/guides
本系列为二次整改,均可正常运行

前言

本系列Demo均以SpringBoot快速构建,基本包使用到lombok(一个便捷的对象构造工具 get/set)、spring-boot-starter-web,使用SpringBoot仅为了快速构建Sample项目,对于学习Spring的对应功能无影响。

我们希望你已经有一定的java基础与了解一个自己喜欢的IDEA功能,谢谢。

GitHub

地址:https://github.com/UncleCatMySelf/Spring-Tutorial

学习

Spring Boot Actuator是Spring Boot的子项目,它为您的应用程序添加了几个生产服务,而您只需要付出很少的努力,本文作为入门简单了解。

构造

将构造使用Spring Boot Actuator创建“hello world”RESTful Web服务,你将构建一个接收HTTP GET请求的服务。

curl http://localhost:9000/hello-world

它使用以下JSON响应

{“id”:1,“content”:“Hello, World!”}

运行空服务

你暂时仅需要一个空的Spring MVC应用程序

@SpringBootApplication
public class ActuatorApplication {

	public static void main(String[] args) {
		SpringApplication.run(ActuatorApplication.class, args);
	}
}

该@SpringBootApplication注解取决于类路径的内容,和其他东西提供缺省值的负载(如嵌入的servlet容器)。它还打开了Spring MVC的@EnableWebMvc注释,用于激活Web端点。

此应用程序中没有定义任何端点,但足以启动并查看Actuator的一些功能。该SpringApplication.run()命令知道如何启动Web应用程序。您需要做的就是运行此命令。

创建一个表示类

您希望处理GET请求/hello-world,可选择使用名称查询参数。为了响应这样的请求,您将发送回JSON,代表问候语,看起来像这样:

{
    "id": 1,
    "content": "Hello, World!"
}

该id字段是问候语的唯一标识符,是问候语content的文本表示。

要为问候语表示建模,请创建一个表示类:

@Data
@Builder
@AllArgsConstructor
public class Greeting {

    private final long id;
    private final String content;

}

现在您将创建将为表示类提供服务的端点控制器。

创建资源控制器

在Spring中,REST端点只是Spring MVC控制器。以下Spring MVC控制器处理/ hello-world的GET请求并返回Greeting资源:

@Controller
public class HelloController {

    private static final String template = "Hello,%s!";
    private final AtomicLong counter = new AtomicLong();

    @GetMapping("/hello-world")
    @ResponseBody
    public Greeting sayHello(@RequestParam(name = "name",required = false,defaultValue = "Stranger") String name){
 return new Greeting(counter.incrementAndGet(),String.format(template,name));
    }

}

面向人的控制器和REST端点控制器之间的关键区别在于如何创建响应。端点控制器不是依赖于视图(例如JSP)来呈现HTML中的模型数据,而是简单地将要写入的数据直接返回到响应的主体。

该@ResponseBody注解告诉Spring MVC不是渲染模型到视图,而是写在返回的对象在响应主体。它通过使用Spring的消息转换器之一来实现。因为Jackson 2在类路径中,这意味着MappingJackson2HttpMessageConverter如果请求的Accept标头指定应该返回JSON ,它将处理Greeting转换为JSON 。

配置使用Actuator

Maven引入


    org.springframework.boot
    spring-boot-starter-actuator

配置application文件

server:
  port: 9000
management:
  endpoints:
    web:
      base-path: /

访问 http://localhost:9000/health

结尾

恭喜!您刚刚使用Spring开发了一个简单的RESTful服务。由于Spring Boot Actuator,您添加了一些有用的内置服务。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号