Spring Modulith:用测试校验单体模块边界
单体项目越写越乱?Spring Modulith 用一条测试守住模块边界 一个 Spring Boot 项目未必需要立刻拆成微服务,但“所有包都能调用所有包”的单体也会越来越难维护。Spring Modulith 的切入点是把应用中的业务模块识别出来,并在测试中检查模块依赖。项目由 Spring 团
在这个技术方向,积累扎实的知识与实践。
共 580 篇文章单体项目越写越乱?Spring Modulith 用一条测试守住模块边界 一个 Spring Boot 项目未必需要立刻拆成微服务,但“所有包都能调用所有包”的单体也会越来越难维护。Spring Modulith 的切入点是把应用中的业务模块识别出来,并在测试中检查模块依赖。项目由 Spring 团
Spring AI 2.1.0-M1 接入 Responses API:升级前先看这两个限制 Spring 团队在 2026 年 9 月 25 日发布了 Spring AI 2.1.0-M1。官方公告把这次里程碑的重点归纳为三项:按顺序保存内容的 MessagePart 模型、OpenAI Resp
数据库一抖就重启?Spring Boot 的 Liveness 别这样配 Kubernetes 的 Liveness 失败会触发容器重启,Readiness 失败则让 Pod 暂时不接收 Service 流量。把数据库、缓存和远端 API 的同一套检查直接挂到两种探针上,可能在外部依赖故障时重启所有
接口拦住了,Service 却能直接调?Spring Security 方法级授权补上这一层 给 HTTP 路由配置了访问规则,不代表同一业务方法从定时任务、消息消费者或另一个 Service 被调用时也会自动执行这条路由规则。对于“只有具备某项权限才能读取报表”这类业务约束,可以把检查放在 Spr
Spring Boot 4.1 测数据库,别再只用 H2:Testcontainers 起一个 PostgreSQL 单元测试用 H2 跑得很快,但如果生产环境是 PostgreSQL,SQL 方言、数据类型和约束行为仍可能在上线时出现差异。针对数据访问层,比较直接的做法是让集成测试启动一个临时 P
最近 Spring 生态最值得关注的两条主线是:Spring Boot 4.1 继续补齐生产级基础设施,Spring AI 2.0 则把重点从“能接模型”推进到“能构建可组合、可校验、可观察的 Agent 应用”。 如果你最近还停留在 Spring Boot 3.x + Spring AI 1.x
以下是关于 Spring Boot 4.1 的新特性以及 Spring Boot 3.5 生命周期结束 (EOF/EOL) 的详细情况: 一、 Spring Boot 4.1 核心新特性 Spring Boot 4.1(基于 Spring Framework 7.x 系列)在 20
Spring AI 2.0 做得最重要的一件事,是停止自己造轮子。 过去 Spring 为了对接 OpenAI 和 Anthropic,自己维护了一套基于 HTTP 协议的内部 SDK。问题是模型厂商接口迭代飞快,Spring 这套自维护实现总是慢半拍,还时不时冒出协议兼容的坑。2.0 把这套全扔了
1. 概述 在本篇简短教程中,我们将介绍如何在 Maven 中设置 Java 版本。 在继续之前,我们可以 查看 Maven 默认使用的 JDK 版本。执行 mvn -v 命令会显示 Maven 运行时所使用的 Java 版本。 2. 使用 Compiler 插件 我们可以在 编译器插件 中指定所需
什么是 Content-Length?为什么它很重要? 在HTTP响应中,Content-Length 头是一个关键字段,它指定了响应体的确切大小(以字节为单位)。通过发送这个头信息,服务器可以在传输开始前就告知客户端将要接收多少数据。这对客户端来说至关重要,因为它能让客户端预先分配好内存、显示准确