Josh Long大佬 讲述 Spring 与 Kotlin 的十年情缘
从 Java 到 Kotlin,从 Web 到 AI,一位 Spring 布道师的十五年见证
故事的开始:2010 年的春天
Josh Long 站在台上,台下是来自全球的 Kotlin 开发者。他是 Spring 团队的第一位开发者倡导者,从 2010 年就开始这份工作了。
十五年过去了,他见证了 Spring 社区的每一次蜕变。
“那时候,大家做的基本都是 Web 应用。现在?微服务、分布式系统、批处理、集成、安全,还有 AI。”
** galaxy 变大了,社区也变大了。**
Kotlin 的加入:一场双向奔赴
2015 年左右,Spring 团队和 Kotlin 团队开始合作。这段关系,用 Josh 的话说,是"真正的荣幸"。
一个经典案例:all-open 插件
Kotlin 的类默认是 final 的,但 Spring 和 Hibernate 这类框架需要子类化。
// 没有 all-open 插件
open class UserService { // 必须手动加 open
@Transactional
fun createUser() { }
}
// 有 all-open 插件
class UserService { // 自动开放,无需修改
@Transactional
fun createUser() { }
}
开发者什么都不用改——去 start.spring.io,已经配置好了。
“是成千上万个这样的小改动,让语言真正为开发者着想。想到这种团队合作,我感到温暖、感激、快乐。”
Kotlin vs Java:为什么 Kotlin 更优雅?
Josh 毫不掩饰对 Kotlin 的喜爱:
“Kotlin 是我们有史以来最好的语言支持方案。”
DSL 的差距
Spring 有很多 DSL(领域特定语言),Java 版本已经很好了,但 Kotlin 版本更优雅。
// Spring Security Kotlin DSL
security {
authorizeRequests {
authorize("/admin", hasRole("ADMIN"))
authorize(anyRequest, authenticated)
}
formLogin { }
}
同样的功能,Kotlin 代码更简洁、更直观。
Spring 团队甚至用 Kotlin 重写了部分 Spring 框架代码。BeanRegistrar API、Spring Cloud Gateway、函数式 HTTP 路由……Kotlin DSL 无处不在。
“我们 essentially 做了两次工作——一次 Java,一次 Kotlin。因为我们要让 Kotlin 版本感觉自然、地道。”
JVM 的黄金时代
Josh 对 JVM 的未来充满信心:
“如果 15 年前告诉我,我们会用 5 行 Kotlin 代码写 Spring 应用,还能和 AI 模型对话,我会笑出声。那听起来不可能。”
但现在,这是日常。
JVM 的优势
| 维度 | 过去 | 现在 |
|---|---|---|
| 开发效率 | Java 冗长 | Kotlin 简洁如脚本 |
| 运行性能 | JVM 启动慢 | 高度优化,接近原生 |
| 生态系统 | 企业级应用 | AI、云原生、微服务 |
“现在,用 Kotlin 写的程序可以像脚本语言一样简洁,同时性能接近原生语言。我们生活在一个神奇的时代。”
AI 时代:JVM 被低估的机会
谈到 AI,Josh 有一个重要观点:
“人们对 AI 有误解。99% 的开发者不是训练模型,而是把模型集成到业务应用中。”
这是一个集成问题,而集成是 JVM 的强项。
Spring AI 的性能优势
最近有一个基准测试,比较了 Model Context Protocol 在不同语言中的实现:
┌─────────────────────────────────────────┐
│ MCP 性能对比 │
├─────────────────────────────────────────┤
│ 🥇 JVM (Spring Boot + Spring AI) │
│ 🥈 Go │
│ 🥉 Python │
│ 4 TypeScript │
└─────────────────────────────────────────┘
JVM 性能第一。
为什么 AI 项目会失败?
MIT 有一项研究:90% 的 AI 集成会失败。
原因很简单:很多团队用 Python 单独构建 AI 工作流,与现有系统脱节。
“如果你用 Spring AI 和 Kotlin 扩展现有服务,体验会好得多。业务逻辑本来就在 JVM 上,为什么要分开?”
给开发者的建议
对 Kotlin 开发者
“用 Spring 不一定要用 Java。Kotlin 是最自然的选择。”
对 Spring 开发者
“试试 Kotlin。它是唯一被直接集成到 Spring Framework 代码库中的语言。”
对观望者
“从来没有比现在更好的时代成为 JVM 开发者或 Spring 开发者。”
尾声:下一个十五年
演讲结束时,Josh 分享了他的期待:
┌─────────────────────────────────────────┐
│ 2010 → 2025 │
│ Web 应用 → AI 驱动系统 │
│ Java 为主 → Kotlin 第一公民 │
│ 单体架构 → 云原生微服务 │
├─────────────────────────────────────────┤
│ 2025 → 2040 │
│ ? │
└─────────────────────────────────────────┘
变化是唯一的不变。
但有一点可以确定:Spring 和 Kotlin 的合作会继续深化,JVM 生态会在 AI 时代找到新的位置。
“这不是我们能不能在 JVM 上做 AI 的问题。在很多情况下,JVM 就是更好。”
🚀 十五年见证,从 Java 到 Kotlin,从 Web 到 AI。最好的时代,才刚刚开始。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)