使用 Spring Boot 4 构建空安全应用程序
这是 Road to GA 系列中的一篇新博文,这次分享了 Spring 组合中空安全支持的最新状态,作为我之前相关博文 使用 JSpecify 和 NullAway 在 Spring 应用程序中实现空安全 以及相关 Spring I/O 演讲的后续。
我们正在修复“十亿美元的错误”吗?
是的,我们正在做!这里的“我们”指的是参与 JSpecify 项目的组织、Spring 团队以及您,将升级到 Spring Boot 4 的 Spring 开发者。
话虽如此,我认为“十亿美元的错误”并不是 Tony Hoare 曾为此道歉的空引用的发明。我认为真正的错误是没有在类型系统中明确表达它,因为空性的隐式性质导致了如此多的 NullPointerException……