IntelliJ IDEA 2025.3 发布,全面拥抱 Spring 7
IntelliJ IDEA 2025.3 现已发布,Spring 7 开箱即用。
REST API 版本控制
Spring 7终于引入了内置的一流版本机制。现在你可以在映射注解中直接定义版本:
@GetMapping(path = "/quote", version = "1.0+")
ResponseEntity<Quote> getQuote() {
Quote result = quoteService.getRandomQuote();
return ResponseEntity.ok(result);
}
IntelliJ IDEA 会自动检测版本控制。IDE 会检查你的应用是否配置了版本控制,识别你使用的是属性还是ApiVersionConfigurer类,如果出现问题还会发出警告。如果你忘记启用版本控制,IDE 不仅会指出问题所在,还会告诉你如何修复。
默认情况下,IntelliJ IDEA 建议使用基于属性的配置,通过头部属性启用版本控制。这是一个安全的起点,如果需要进行更复杂的操作,可以稍后进行调整。
spring.mvc.apiversion.use.header=Api-Version
可以在@GetMapping注解中的版本号上按住 Ctrl 键点击,直接跳转至配置代码。IDE 还会检查你的版本值是否遵循标准的 SemVer 规则。
如果你使用的是自定义版本解析器,IntelliJ IDEA 不会进行干扰。
Testing versioned APIs
在测试方面,你可以采用直接的方式,保持简单。
mockMvc.perform(get("/api/quote")
.accept(MediaType.APPLICATION_JSON)
.header("API-Version", "1.0")
)
另一方面,Spring 7 允许你为测试配置 API 版本控制,并提供了一个新的 API ——apiVersion方法:
IntelliJ IDEA 了解此 API,并会帮助你配置测试的版本控制。对于 header-based 的版本控制,代码如下所示:
@TestConfiguration
static class QuoteControllerTestConfig implements MockMvcBuilderCustomizer {
@Override
public void customize(ConfigurableMockMvcBuilder<?> builder) {
builder.apiVersionInserter(ApiVersionInserter.useHeader("Api-Version"));
}
}
此配置允许你在单个类中定义版本控制方法,从而大大简化测试维护。
HTTP Interface Clients
目前,要支持 HTTP Interface client 的版本控制,仍然需要手动编写配置。IntelliJ IDEA 2025.3 将 HTTP 接口识别为 bean —— 不再出现“红色波浪线”或“无法解析 bean”的警告。无论在何处使用这些客户端,都将获得完整的自动补全、导航和注入支持。
spring.http.serviceclient.default.apiversion.default-version=1.0.0
spring.http.serviceclient.default.apiversion.insert.header=API-Version
还可以查看每个客户端的引用位置——直接通过侧边栏图标或“Structure”工具窗口即可查看。展望未来,项目团队还在开发能够检测未注册客户端或错误导入的检查功能,甚至可以帮助开发者根据 OpenAPI 规范生成客户端。简而言之,就是让开发者减少编写 HTTP 客户端的时间,从而将更多精力投入到改进他们调用的 API 上。
Dynamic Bean Registration
新特性:BeanRegistrar 接口。有时需要动态注册 Bean,而@Conditional 注解无法满足需求。Spring 7 在能让你以更优雅的方式实现:
public class QuoteProviderRegistrar implements BeanRegistrar {
@Override
public void register(BeanRegistry registry, Environment env) {
registry.registerBean("quoteProviderDb", QuoteProviderDb.class);
registry.registerBean("quoteProviderFallback", QuoteProviderFallback.class);
}
}
如果你的 bean 构造逻辑变得复杂或依赖于多个因素,那么 programmatic bean registration 就是一种巧妙的处理方法。IntelliJ IDEA 可以动态识别这些 bean,因此你将不再看到那些烦人的“未解析的注入”警告。你可以直接从注入点导航到注册。
IDE 无法预料到动态注册的所有极端情况——这正是 Spring Debugger发挥作用之处。在调试复杂的配置时,它会准确地显示运行时注入的内容。
更多详情可查看:https://blog.jetbrains.com/idea/2025/11/intellij-idea-2025-3-spring-7/
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
开源、免费、轻量级 ginGfast 代码生成发布
开源、免费、轻量级 Gin 多租户前后分离快速开发基础框架,基于主流技术,集成了 JWT 认证、权限控制、数据库操作等功能,助力开发者快速搭建一个后台管理系统。 功能特性 🔐JWT 认证:基于 JWT 的用户认证系统,支持 Token 刷新机制 🛡️权限控制:集成 Casbin 权限管理框架,支持 RBAC 权限模型 🗄️数据库支持:支持 MySQL、SQL Server、PostgreSQL 数据库 🔧配置管理:基于 YAML 的配置文件管理 📝日志系统:集成 Zap 日志框架,支持日志切割和归档 🌐跨域支持:内置 CORS 中间件 🚀性能监控:集成 pprof 性能分析工具 💾缓存支持:支持 Redis 和内存缓存 🔢验证码支持:集成图形验证码功能,支持登录安全验证 📋完整的后台管理:包含用户管理、角色管理、菜单管理、部门管理、字典管理、API 管理等模块 🔗菜单与 API 权限关联:支持菜单与 API 权限的动态关联管理 🏗️分层架构:采用 Controller-Service-Model 分层架构,代码结构清晰 📚API 文档:集成 Swagger A...
-
下一篇
Git for Windows v2.52.0 发布
Git for Windows v2.52.0 现已发布。正如最近几份版本说明中所宣布的那样,Git for Windows 项目已停止对git svn的支持。自 Git for Windows v2.51.2 以来的变更内容包括: 新功能 附带Git v2.52.0。 附带PCRE2 v10.47。 附带cURL v8.17.0。 Git for Windows 安装程序现在使用 InnoSetup6.6.0 版本构建,使其外观更加现代化。 错误修复 由于上游 Git v2.49.0 的更改,git help git-bash命令失效,现已修复。 更新说明:https://github.com/git-for-windows/git/releases/tag/v2.52.0.windows.1
相关文章
文章评论
共有0条评论来说两句吧...






微信收款码
支付宝收款码