本記事のレポーター
- 【NTT ソフトウェアイノベーションセンタ】岩塚 卓弥、長田 孝彦
- 【NTTデータグループ】猪木 宏真、小峰 規行、高橋 寛恒
- 【NTTドコモソリューションズ】田村 祐揮
SpringOne について
SpringOneはSpring Frameworkの開発を牽引しているBroadcom社が年に一度開催しているイベントです。過去には単独のカンファレンスとして開催されていましたが、2023年以降はVMware Exploreの一部として毎年8月にラスベガスで開催されています。講演セッションの動画はカンファレンス終了後の2025年10月から公開されており、VMware Exploreの216の講演の内の17の講演がSpringOneの講演となっています。各種Springプロジェクトの新機能についてサンプルコードを示しながら紹介する講演が多く、開発者向けの色合いが強いです。Springは長い歴史の中でその時々のトレンドに対応して進化を続けており、SpringOneにおける主要なテーマから現在のアプリケーション開発者たちの関心事を伺い知ることができます。本レポートでは、こうした主要テーマに網羅的に言及しているkeynoteセッションを軸にして、関連するセッションの内容も含めて紹介していきます。
Springのイノベーションの重点領域
イベント冒頭のKeynoteセッションにあたる「Spring Spotlight: Defining the Future of Java Apps」は、Springの現状と将来のイノベーションに焦点を当てたものでした。
セッションの最初に登壇したBroadcom社のTanzu部門のゼネラルマネージャーであるPurnima Padmanabhan氏は、「Springは単なる製品ではなく、コラボレーションによって成り立つコミュニティであり、VMware Tanzuプラットフォームの中心に位置づけられており、JavaとSpringは今後も発展し続ける」と述べ、Broadcom社がSpringへの投資とイノベーションを継続していることを強調しました。Padmanabhan氏は、直近一年におけるSpringのイノベーションとして以下などを例に挙げました。
- Spring AI:エンタープライズアプリケーション内にAIロジックを組み込むためのイノベーション
- Application AdvisorのMCP対応:アップグレードの迅速化のためのイノベーション
- Spring Bootのパフォーマンス向上:起動時間を2倍に高速化し、メモリ使用量を20%削減
- サポートタイムライン:LTS観点からのパッチ提供
最後に、Padmanabhan氏は、VMware Tanzuについて「VMware Tanzuプラットフォームは、Springアプリケーションを実行するための最高の場所になる」というコミットメントが示されました。VMware Tanzuは、Springアプリケーションの実行を最も簡単、最速、かつ最もパフォーマンスの高いものにすることを目指しているとのことです。
Spring Boot 4とSpring Framework 7
Springプロジェクトの中心であるSpring BootとSpring Frameworkのポートフォリオについて、Spring Bootの主要開発者であるPhil Webb氏がkeynoteセッションの中で解説を行いました。2025年11月にリリースされるSpring Boot 4とSpring Framework 7では、JavaのベースラインがJava 17に維持される一方で、その他の基盤要素についてはKotlin 2.2、Jakarta EE 11、Jackson 3、JUnit 6へとベースラインが引き上げられます。また、仮想スレッドを活用する場合にはJava 25の採用を強く推奨するとのことです。
続けて、Null参照の扱いの改善について言及がありました。計算機科学者のTony Hoare氏による「billion-dollar mistake」という表現で有名なように、Null参照はさまざまな不具合の温床になっています。Springはこの問題に対応すべく、Spring 5ではJSR305に基づいたアノテーションを導入してきましたが、JSR305自体が多くの課題を抱えていました。Spring Framework 7では、業界全体で標準化が進められているNull許容性(nullability)に関するアノテーションセットであるJSpecifyを採用し、開発者に対して優れた体験が提供されるとのことです。
さらに、Spring Boot 4における最大の取り組みとして、コードベースのモジュール化について説明されました。これまで、spring-boot-autoconfigure JARファイルには、使用しないものも含め全ての自動設定クラスが含まれていたため、2014年のリリース当初185KBだったJARサイズが、現在では2MBにまで肥大化していました。Spring Boot 4ではコードベースがモジュール化されて、2MBから約365KBに大幅に削減されるそうです。
新しいモジュール構成については、Webb氏の別のセッション「What is Coming in Spring Boot 4.0?」でも触れられています。Spring Boot 4 では従来よりも細分化されたモジュールが提供されているため、開発者は必要な機能だけを選択して依存関係を管理できるようになり、アプリケーション容量の削減が期待できます。一方で、これにより、単純にSpring Bootのバージョンを上げただけでは、自動構成が期待通りに動作しない場合があるため、注意が必要です。
Spring Boot 3.5で作られたデモアプリケーションをSpring Boot 4に移行するデモの中では、WebFluxを利用したクライアントアプリケーションにおいてspring-boot-starterを利用するだけでは自動構成が動作しなくなってしまう様子が示されました。その後spring-boot-starter-webclientを利用することで、最小限の依存関係でクライアントアプリケーションが作成できることが説明されています。
新しいモジュール構成の詳細については、こちらのSpring Boot 4.0への移行ガイドにサポートされているテクノロジーごとのスターターが一覧化されているため、参考になるでしょう。
「What is Coming in Spring Boot 4.0?」ではこの他にSpring Framework 7に新たに追加されたAPIバージョニングの機能や、APIへのリトライを簡単に実装できる@EnableResilientMethods アノテーションなどが紹介されていました。API関連の機能強化についてはkeynoteセッションの中ではSpring Cloud開発チームのRyan Baxter氏からも解説されています。Baxter氏はヘッダーを使用してクライアントが新しいAPIバージョンを指定するデモを行いました。APIバージョニングの機能によって、サーバー側で新しいバージョン(例:0.0.2)のAPIを導入しつつデフォルトバージョン(例:0.0.1)を設定することで、既存のクライアントを壊すことなく APIを進化させることが可能になっている様子が確認できました。
