在 Spring AOP 中获取 Advise 方法信息
1、简介 {#1简介} ----------- 本文将带你了解如何使用 Spring AOP Aspect 获取 Advise 方法的签名、参数、注解以及其他的额外信息。 2、Maven 依赖 {#2maven-依赖} ----------------------- 首先,在 `pom.xml` 中添加 `spring-boot-starter-aop` Starter ...
1、简介 {#1简介} ----------- 本文将带你了解如何使用 Spring AOP Aspect 获取 Advise 方法的签名、参数、注解以及其他的额外信息。 2、Maven 依赖 {#2maven-依赖} ----------------------- 首先,在 `pom.xml` 中添加 `spring-boot-starter-aop` Starter ...
1、概览 {#1概览} ----------- 本文将带你了解给 Spring REST API 设置请求超时的几种方法。 当资源耗时过长时,请求超时机制可以避免糟糕的用户体验。当然也可以使用断路器模式(Circuit Breaker pattern)来实现,本文不细说。 2、`@Transactional` 超时 {#2transactional-超时} -------...
1、概览 {#1概览} ----------- Apache Maven 是一种广泛使用的项目依赖管理工具和项目构建工具。 [Spring Boot](/spring-boot/) 通过 [Spring Boot Maven Plugin](https://docs.spring.io/spring-boot/docs/current/maven-plugin/refere...
1、概览 {#1概览} ----------- 本文将带你了解 Feign 客户端的集成测试。 首先创建一个基本的 Open Feign 客户端,并使用 **WireMock** 编写一个简单的集成测试。 之后,给客户端添加 **Ribbon** 配置,并为其构建一个集成测试。最后,配置一个 **Eureka** 测试容器,并测试此设置,以确保整个配置按预期工作。 2、...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 默认使用 Jackson `ObjectMapper` 实例来序列化和反序列化 JSON 格式的响应与请求。 本文将带你了解如何在 Spring Boot 中自定义 Jackson `ObjectMapper` 选项,以及配置序列化和反序列化选项的最常用方法。 2、默...
1、背景 {#1背景} ----------- 有好几次线上发布老应用时,遭遇代码启动报错,具体错误如下: ```txt Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'xxxManageF...
1、概览 {#1概览} ----------- 在 Spring Boot 应用中,一般使用 `RestTemplate` 来执行同步 HTTP 请求。数据通常以 JSON 的形式返回,而 `RestTemplate` 可以进行自动转换。 本文将带你了解,如何在 `RestTemplate` 中把响应的 JSON 数组转换为 Object 数组、POJO 数组和 POJO ...
1、概览 {#1概览} ----------- 本文将带你学习如何使用 Spring 4 中引入的 WebSocket 功能来实现一个简单的聊天应用。 WebSockets 是 Web 浏览器和服务器之间的一种双向、全双工、持久连接。一旦建立了 WebSocket 连接,该连接就会一直打开,直到客户端或服务器关闭该连接。 2、Maven 依赖 {#2maven-依赖} -...
1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring WebSockets 中使用 `@SendToUser` 注解向特定 Session 或特定用户发送消息。 有关上述 Spring WebSockets 的介绍,请参阅 [上一篇文章](/websockets-spring/)。 2、WebSocket 配置 {#2websocket-配置...
1、概览 {#1概览} ----------- 本文将带你了解如何在 [Spring Boot](/spring-boot/) 中实现定时地往浏览器推送 WebSockets 消息。 > 另一种方法是使用服务器发送事件 (SSE),但本文不涉及这一点。 Spring 提供了多种调度方式。如 `@Scheduled` 注解,以及 Project Reactor 提供的 ...