在 Spring Boot 应用中使用 Loki 记录日志
![spring boot & Loki](/upload/2023/08/28/vtHW25Z58j.webp) 在本文中,你将学习如何收集 Spring Boot 应用程序日志并将其发送到 [Grafana Loki](https://grafana.com/oss/loki/)。为此,我们将使用 [Loki4j](https://loki4j.github.io...
![spring boot & Loki](/upload/2023/08/28/vtHW25Z58j.webp) 在本文中,你将学习如何收集 Spring Boot 应用程序日志并将其发送到 [Grafana Loki](https://grafana.com/oss/loki/)。为此,我们将使用 [Loki4j](https://loki4j.github.io...
在前面的 [Spring Boot 入门教程](/getting-started-with-spring-boot/) 中,我们学习了如何创建 Spring Boot 应用程序并构建一个简单的 REST API。 在本教程中,你将学习如何为 Spring Boot 应用程序编写单元测试、片段测试和集成测试。 测试 Spring Boot 应用 {#测试-spring-boo...
如果你从事 web 应用开发,在前端使用异步请求(`fetch`/`XMLHttpRequest`)时,那你或多或少都应该在浏览器控制台见识过如下异常信息。 ```txt Access to fetch at 'http://localhost:8080/hello' from origin 'http://localhost:1313' ...
在上一篇 [Spring Boot 测试教程](/spring-boot-testing-tutorial/) 中,我们学习了如何为 Spring Boot 应用编写单元测试、片段测试和集成测试。 在本教程中,你将学习如何使用 `properties` 和 `YAML` 文件配置 Spring Boot 应用程序,以便在不同环境中运行应用。 外部化 Spring Boot ...
本入门指南将会引导你如何从零开始建立一个 Spring 应用,并提供经典的"Hello World!"端点,可供任何浏览器都访问。 环境预备 {#环境预备} ------------ 你需要在本地安装好 Java™ 开发工具包(JDK),以及一个 IDE,如 IntelliJ IDEA、Spring Tools、Visual Studio Code 或 ...
如今,应用程序被构建为小型独立上游服务的集合。这加快了开发速度,并使模块专注于特定职责,提高了质量。这是使用微服务方法的主要优势之一。然而,从一个服务跳转到另一个服务会增加额外的延迟,当服务没有响应时,这种延迟会显著增加。 如果你运行的是微服务,你需要防止上游服务在工作不正常时被调用。即使使用断路器(circuit breaker)模式,也会对响应时间造成影响。因此,有时最好...
Spring Framework 6.1 M2 引入了 `RestClient`,一个新的同步HTTP客户端。顾名思义,`RestClient` 提供了 `WebClient` 的 fluent API和 `RestTemplate` 的基础架构。 14年前,当 `RestTemplate` 在 Spring Framework 3.0 中被引入时,我们很快发现在一个类似模板...
在本教程中,将带你学习 Spring Framework 的重要组成部分 Spring Bean Scope(作用域)。你将了解它们是什么、如何工作以及何时使用。最后,你将对 Spring Bean Scope 有一个清晰的了解,从而帮助你构建更好的 Spring 应用程序。 Spring Bean 介绍 {#spring-bean-介绍} -----------------...
1、概览 {#1概览} ----------- Java 中的反射是一个强大的功能,它允许我们操纵不同的成员,如类、接口、字段和方法。此外,使用反射,我们可以在编译时实例化类、调用方法和访问字段,而无需知道类型。 本文将带你了解如何使用 JVM AccessFlag(访问标志),以及 `Modifier` 和 `AccessFlag` 之间的区别。 2、JVM Acces...
1、简介 {#1简介} ----------- 本文将会带你了解如何使用 Java JMS(Java Message Service)从 IBM MQ 队列读写消息。 2、设置环境 {#2设置环境} --------------- 我们可以在 **Docker** 容器中运行 IBM MQ,以避免手动安装和配置的复杂性。 使用以下命令以基本配置运行容器: ```s...