Spring

浏览该分类下的所有文章

MCP协议大改之后:Java与Spring AI如何跨越兼容性断层

MCP 2026-07-28规范移除了初始化握手和协议级Session,转向每次请求自带版本与能力声明的无状态模型。当前Java MCP SDK 2.0.0和Spring AI仍基于2025-11-25协议,接入客户端时可能出现探测失败、未知方法返回500等问题。本文梳理新旧协议差异与Java生态现状,并给出兼容测试、状态外置、权限校验、协议网关和双栈灰度方案,帮助Java团队平稳完成MCP升级。

AI接口能跑不等于可靠:如何建立回归评测与质量门禁

大模型接口返回 HTTP 200,并不代表回答正确。Prompt、模型、RAG、工具和参数的任何变化,都可能引发难以察觉的质量回归。本文基于 Java、JUnit 与 Spring AI 2.0,设计一套可落地的 AI 回归测试体系:使用版本化数据集管理正常、边界、对抗和历史失败样本,通过确定性规则拦截格式、安全、Token 与时延问题,再使用模型裁判评估正确性、事实一致性和相关性,并结合多次运行通过率、基线对比和 CI 质量门禁,让 AI 功能从人工聊天验收走向可量化、可回归、可持续交付。

Java正在进入下一阶段:2026年值得关注的7个技术变化

2026 年,Java 生态正在迎来新一轮技术升级。从 JDK 26 原生支持 HTTP/3、Virtual Thread 与 Structured Concurrency,到 Project Leyden 推进 AOT Cache,再到 JDK 27 在对象头压缩、垃圾回收、后量子安全和 JFR 脱敏方面的增强,JVM 正变得更高效、更安全。同时,Spring Boot 4.1 加强 gRPC、OpenTelemetry 等生产能力,Spring AI 2.0 则通过 Tool Calling、MCP 和 Agent 将 Java 深度带入 AI 时代。本文系统梳理 2026 年 Java 值得关注的核心技术变化,并给出新项目的技术选型思路。

Spring AI 2.0 如何解决Agent工具选择难题

文章详细讲解了如何通过 Tool Search 将工具目录转变为可检索能力,让模型先发现候选工具,再加载具体 Schema;同时探讨工具索引策略、工具描述设计、权限控制、Memory 与工具循环关系,以及如何通过指标评估优化效果。最终指出,Agent 扩展的关键不是不断增加模型上下文,而是建立“能力目录、能力检索、能力执行”三层治理体系,让工具像数据一样可发现、像接口一样可控、像生产操作一样可审计。

Spring WebFlux响应式编程实战指南

本文阐述了在微服务高并发环境下传统Spring MVC阻塞模型的局限,介绍了基于Project Reactor的响应式编程核心概念(Flux、Mono、Operator、背压),并通过Spring WebFlux结合R2DBC实现用户管理的REST接口示例,展示了自定义Scheduler、连接池等实战配置。JMeter 对比表明 WebFlux 在吞吐量和 CPU 利用率上显著优于 MVC。最后指出响应式适用于 I/O 密集、长耗时和流式处理场景,强调避免阻塞、合理使用背压以及调试难点。

Spring定时任务

Spring在项目中通过Spring Integration模块提供定时任务功能,核心接口为TaskExecutor(执行Runnable)和TaskScheduler(调度任务)。常用实现包括ThreadPoolTaskExecutor和ThreadPoolTaskScheduler,满足大多数需求。使用时在配置类上加@EnableScheduling,标注@Scheduled的方法会被自动调度,方法必须无参无返回。默认单线程,可通过实现SchedulingConfigurer或在配置文件中设置spring.task.scheduling.pool.size来扩展线程池。@Scheduled支持cron表达式、fixedRate、fixedDelay和initialDelay等参数,分别控制执行频率、间隔和启动延迟。

面试现场【Spring篇】

本文系统梳理了 Spring 面试常见知识点:列举了 Spring 使用的工厂、代理、单例、模板方法、观察者、适配器等设计模式;概述了 Core、Context、Web、MVC、DAO、ORM、AOP 等核心模块;阐释 IOC/DI 的本质、BeanFactory 与 ApplicationContext、FactoryBean 的区别以及 @Repository、@Service、@Component、@Controller 的分层意义;介绍 AOP 的概念、通知类型、动态/静态代理及 JDK 与 CGLIB 的实现差异,并比较 Spring AOP 与 AspectJ AOP;详细说明 Bean 的四阶段生命周期、三级缓存如何解决单例循环依赖以及为何需三级缓存;对比 @Autowired 与 @Resource 的注入策略;梳理 Spring 事务的五种隔离级别和七种传播行为;最后解析 Spring Boot 自动装配的 EnableAutoConfigurationImportSelector、spring.factories 与条件过滤机制。

Java面试必会知识点

抱歉,我无法直接访问该链接中的内容。请您把文章的正文粘贴在这里,我会根据提供的文本为您生成符合要求的摘要。

Spring AOP底层原理

Spring AOP 通过动态代理实现横向切面功能。若目标对象实现接口,Spring 使用 JDK Proxy 创建与接口同级的代理对象;若未实现接口,则采用 CGLIB 生成目标类的子类作为代理。代理对象在运行时拦截方法调用,实现与原实现类相同的功能,而无需修改源代码,从而完成 AOP 的横向扩展。