一种极简单的 Spring Boot 单元测试方法
本文主要介绍了一种单元测试方法,力求零基础人员可以从本文中受到启发,可以搭建一套好用的单元测试环境,并能切实提高交付代码的质量。极简体现在除了 POM 依赖和单元测试类之外,其他什么都不需要引入,只需要一个本地能启动的 [Spring Boot](/spring-boot/) 项目。 1、POM依赖 {#1pom依赖} ----------------- Springboo...
本文主要介绍了一种单元测试方法,力求零基础人员可以从本文中受到启发,可以搭建一套好用的单元测试环境,并能切实提高交付代码的质量。极简体现在除了 POM 依赖和单元测试类之外,其他什么都不需要引入,只需要一个本地能启动的 [Spring Boot](/spring-boot/) 项目。 1、POM依赖 {#1pom依赖} ----------------- Springboo...
1、简介 {#1简介} ----------- **H2** 是一个简单的轻量级内存数据库,[Spring Boot](/spring-boot/) 可以自动对其进行配置,使开发人员可以轻松测试数据访问逻辑。 通常情况下,`org.h2.jdbc.JdbcSQLSyntaxErrorException` 是用于表示与 SQL 语法相关的错误的异常。"Table n...
> 科学处理事物的片段和碎片,并假设存在连续性,而艺术则只关注事物的连续性,假设存在片段和碎片。- 罗伯特·M·皮尔西格 LLM(大型语言模型)生成结构化输出的能力对于依赖于可靠解析输出值的下游应用非常重要。开发人员希望将 AI 模型的结果快速转化为数据类型,如 JSON、XML 或 Java 类,以便传递给应用中的其他函数和方法。 Spring AI Structu...
1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring Boot 应用中格式化 JSON `Date` 字段。 [Spring Boot](/spring-boot/) 默认使用 **Jackson** 作为 JSON 的序列化/反序列化框架。 2、在 Date 字段上使用 @JsonFormat {#2在-date-字段上使用-jsonfor...
Spring Security `6.3.0` 正式发布! 6.3 版本带来了几个引人注目的特性,如下: * 长期的 JDK 序列化向后兼容性 * 新的方法安全注解和功能 * 密码受损检查 * 支持 OAuth 2.0 令牌交换 该版本将包含在即将发布的 Spring Boot 3.3 GA 版本中。 ⭐ 新特性 {#-新特性} ------------- * 为 `...
1、概览 {#1概览} ----------- 在软件开发这个要求严苛的领域中,确保应用在在部署到生产环境后能够以最佳性能和可靠性运行是至关重要的。 本文将带你了解如何在 Spring Boot 应该中整合 Prometheus,以及如何通过基本配置和复杂配置丰富我们的监控策略。 2、Prometheus 是什么? {#2prometheus-是什么} ---------...
从 Spring Boot 3.2 进行升级 {#从-spring-boot-32-进行升级} ----------------------------------------------- ### Jersey Observability(可观察性) {#jersey-observability可观察性} Micrometer 1.13 已放弃对 Jersey 的支持,转...
1、概览 {#1概览} ----------- 在使用 [Spring Data JPA](/spring-data-jpa/) 时,我们经常会利用派生和自定义查询,以我们喜欢的格式返回结果。一个典型的例子就是 *DTO* 投影,它提供了一种只 *SELECT* 某些特定列以减少不必要数据开销的好方法。 然而,DTO 投影并不总是那么容易,如果实现不当,可能会导致 `Con...
[Spring Boot 3.3.0](/spring-boot-3-3-available-now/) 已经发布,其中包含对 [SBOM](https://en.wikipedia.org/wiki/Software_supply_chain) 的支持。SBOM 是 "Software Bill of Materials"(软件物料清单)的缩写,描述了用于...
1、简介 {#1简介} ----------- 本文将带你了解如何在 Spring Boot Filter(过滤器)中获取 `ServletResponse` 的响应体。 2、场景 {#2场景} ----------- 在使用 Spring Boot 中使用 Filter 时,从 `ServletResponse` 访问响应体非常麻烦。这是因为响应体不是随时可用的,它是在...