Spring 日本語

Springは、Webアプリケーションを素早く効率的に構築するための強力なツールセットです。開発者が、シンプルで拡張性の高い方法でコードを書くことで、企業レベルのアプリケーションを簡単に作成することができます。Springフレームワークは、Javaや他の言語を使用してアプリケーションを作成し、HTTPサーバーやアプリケーションサーバーなどのどのようなティアードサーバー上でもデプロイすることを可能にしています。 Springは、大小のチームがいるさまざまな環境で価値を加えることが証明されています。フレームワークは、企業レベルのアプリケーションを作成するために使用できる異なるモジュールを提供し、開発プロセスに柔軟性とシンプルさをもたらします。 公式のSpringサイトは、ドキュメント、チュートリアル、トレーニングコース、例など、開発者が始めるのを助けるためのさまざまなリソースとツールを提供します。サイトには、最新のリリースノート、更新情報、開発者がアイデアを共有し、サポートを受けたり、プロジェクトに貢献することができるコミュニティーセクションも含まれています。

ノートのスレッド

Spring AI TypeSafe は、TypeSafe AI の Jev API を統合し、AI アプリケーション向けに高速、低コスト、構造化された意思決定コンポーネントを提供します。従来のプロンプトテンプレートと JSON スキーマ解析をバイパスし、代わりに状態と型付けされた質問を受け取り、構造化された回答を返すクライアントを提供します。システムは 3 つのプリミティブな質問タイプを処理します。Noul (はい/いいえ)、Choice (オプションの選択)、Score (ルーブリックでのランキング) です。これらのプリミティブは、正確な値、確率、信頼度を返し、詳細な評価を可能にします。このサービスは、速度とコスト効率のために設計されており、パフォーマンスと価格の両方のベンチマークで、通常のチャットモデルの呼び出しを大幅に上回ります。これにより、AI パイプラインのさまざまな段階でチェックが可能になります。コアアイデアは、コード内でアトミックな質問を構成することであり、サービスは単一の状態観測に対してそれらを並列で処理できます。この機能は、LLM-as-a-Judge シナリオで例示されており、JevJudge は特定の基準と閾値で構築され、モデルの出力を評価できます。信頼度スコアは、分布に基づいた回答の確実性を示す追加の情報軸を提供します。JevSelfRefineAdvisor は、このジャッジメントシステムを活用して自己修正ループを実装し、基準が満たされない場合にフィードバックとともにモデルの呼び出しを再試行します。さらに、JevGuardrailAdvisor は安全レイヤーとして機能し、ユーザー入力とモデル出力の両方を定義済みの危険に対してスクリーニングします。再試行するのではなく、重大度に基づいてブロックまたはフラグを立てます。システムの出力は構造化されており、散文を生成することなく、分類、スコア、決定を提供します。TypeSafe AI のプリミティブは、Noul (はい/いいえ、0 から 1 の間の真偽値を返す)、Choice (1 つのオプションを選択し、選択されたラベルとすべてのオプションの確率、および信頼度を返す)、Score (順序付けられたルーブリックに配置し、連続値と関連する確率を返す) です。オプションの説明とこれらのプリミティブの明確な指示は、パフォーマンスと信頼度を大幅に向上させます。このプロジェクトは Maven Central スターターとして利用可能であり、Spring Boot と共に、または Spring Boot なしで使用できます。
CdXz5zHNQW_hDXjfLYIZj.png
今週のSpringでは、Spring開発者向けの様々なアップデートと洞察が紹介されています。ハイライトには、OracleによるJavaメモリ管理の原則に関するプレゼンテーションが含まれます。Spring AIは引き続き注力されており、チャットメモリの要約レシピが紹介されています。セキュリティは引き続き重要なテーマであり、Spring SecurityとOAuth 2.0を使用したJavaFXアプリケーションのセキュリティ保護に関するチュートリアルがあります。OAuth 2.1とSpring Authorization Serverを使用した最新アプリケーションのセキュリティ保護に関する投稿も紹介されています。AI統合における興味深い進展も注目されており、SpringとGeminiを使用したビデオでのビデオ理解に関するビデオや、AIワークロードを強化する可能性のあるQuixotic.aiという新しいJavaライブラリが含まれています。ポッドキャストエピソードでは、NetflixのPaul Bakker氏とのJavaとSpringの道のりに関する議論が特集されています。新しい開発としては、リリースノートはありませんが、Spring Batch IntelliJ IDEAプラグインがあります。さらに、Spring Batchを数百万行にスケーリングするという投稿もあります。最後に、Baeldungの記事では、IntelliJのSpringデバッガを使用したSpring Bootアプリケーションのデバッグについて説明しています。
Spring AI 2.0.1 がリリースされました。これは 2.0.0 GA リリースを基盤としたメンテナンスアップデートです。この重要なアップデートでは、80 以上の問題が修正され、一般提供開始以降、頻繁に要望されていた機能が取り込まれています。このリリースには、無制限の再帰や任意のファイル書き込みといった、いくつかの重大なセキュリティ脆弱性に対する修正が含まれています。アップグレード前に、ユーザーは、非推奨となった Mistral AI モデルの廃止や、Redis チャットメモリの自動設定モジュールの名称変更といった軽微な変更点に留意する必要があります。OpenAI のツール呼び出しの厳格モードはデフォルトで false になり、メディアビルダーは明確化のために型指定されたデータオーバーロードを使用するようになりました。DeepSeekApi は、他の API クライアントの規約に合わせるように改訂され、Couchbase ベクトルストアは Spring Boot 管理の Couchbase クライアントを利用するようになりました。このリリースにおける新機能には、無限のエージェントループを防ぐためのリクエストごとのツール呼び出し制限の設定機能と、これらの制限を超過した場合のエラー処理が含まれます。OpenAI のオーディオ機能はストリーミングをサポートし、文字起こしのための豊富なオプションが含まれるようになりました。Google GenAI は ToolChoice のサポートと画像生成機能を追加し、PagePdfDocumentReader は特定のページ範囲の取り込みを可能にします。AWS リージョン解決はデフォルトの SDK ルールに従うようになり、他の AWS スタックコンポーネントとの一貫性が向上しました。ストリーミングとツール呼び出しにおける信頼性が大幅に向上し、デルタとキャンセルの処理が改善されました。チャットメモリとベクトルストアにも、さまざまなバグ修正と強化が行われ、異なる統合における安定性と機能性が向上しました。
Spring Integrationチームは、新しいSpring Integration 7.2マイナーバージョンの最初のマイルストーンを発表できることを嬉しく思います。この最初のマイルストーンはリリースされ、Maven Centralで利用可能です。新しいマイナーバージョンに加えて、リリース7.1.1および7.0.6も利用可能であり、重要なバグ修正とセキュリティアップデートを提供します。これらのリリースでは、いくつかの共通脆弱性および公開(CVE)が対処されています。これらの修正には、UDPアダプターの確認応答、ヘッダーのスキップ、unzipトランスフォーマーの制約、およびSMBプロトコルバージョンに関連する問題が含まれます。セキュリティの改善は、潜在的なリモートコード実行およびサービス拒否の脆弱性にも対処しています。7.2.0-M1マイルストーンの注目すべき変更点には、Spring AMQPのシンプルなパブリッシャーのサポートが含まれます。JdbcMetadataStoreは、格納されたNULL値を正しく処理するように更新されました。さらに、HTTPアウトバウンドゲートウェイにRestTemplateを使用する構成は非推奨になりました。チームは、今後のマイルストーンに関するフィードバックとアイデアを歓迎します。より詳細な情報は、「7.2の新機能」ドキュメントで見つけることができます。
Spring Cloud 2025.1.3 Release Train が一般公開され、Maven Central からアクセス可能になりました。リリースノートには詳細情報が記載されています。このリリースは Spring Boot 4.0.8 を基盤としています。複数のモジュールにわたり、いくつかの重要な変更とクリティカルなセキュリティ修正が含まれています。Spring Cloud Circuitbreaker は、Resilience4JCircuitBreakerFactory のデフォルトの TimeLimiterConfig を使用しなくなりました。Spring Cloud Commons は、CVE-2026-59284 の脆弱性を修正し、Bouncycastle をアップグレードし、プロパティ設定のリセットを改善しました。Spring Cloud Config は、複数の CVE (2026-47836, 2026-47837, 2026-47894, 2026-59315) に対応し、AWS S3 で Git スタイルの searchPaths をサポートするようになりました。Spring Cloud Function は、ファイル読み取り、SSRF、ヘッダーフィルタリング、関数ポイズニング、機密データロギングに関連する複数の CVE (2026-59291, 2026-59297, 2026-59298, 2026-59299, 2026-59300, 2026-59301) を解決しました。Spring Cloud Gateway は、SSRF とネイティブファイルアクセスに関連する CVE-2026-47879 を修正し、MVC リトライバックオフサポートを追加しました。Spring Cloud Stream は、機密データロギング、キャッシュサイズ、コンテンツタイプキャッシュ、インターセプターの問題、デシリアライゼーションの脆弱性に関する CVE (2026-59302, 2026-59303, 2026-59304, 2026-59305, 2026-59306) に対応しました。表には、このリリースに含まれるさまざまなモジュールの更新バージョンが示されています。GitHub、Gitter、Stack Overflow、または Twitter を通じてフィードバックを歓迎します。コミュニティでの利用のために、Maven および Gradle との統合手順が提供されています。
今週のSpringでは、Spring開発者向けの新しい開発とリソースを紹介します。ビデオチュートリアルでは、Spring Security、OAuth、Arconiaを使用したマルチテナント統合について解説しており、Arconiaは対応するアップデートをリリースしました。Ayush Shrivastavaは、Craig Wallsの優れたレシピシリーズを補完する、Spring AIを使用したエージェント構築ガイドを提供しています。Wallsの最新のSpring AIコンテンツでは、推論と実行(ReAct)およびLangGraph4jを使用したグラフベースのエージェントワークフローについて説明しています。Julien Duboisは、興味深いSpring Boot UIプロジェクトを維持しています。コミュニティプロジェクトであるSpring FlashAPIは、Spring Dataリポジトリを必要とせずに、JPAエンティティから直接REST APIを生成します。Embabel 1.5.0が利用可能になり、Spring AI上に構築されたエージェントワークフローエンジンを提供しており、関連する投稿はCraig Wallsによって更新されました。spring-ai-privacy-guardrailsプロジェクトは、リクエストスコープのPIIトークン化と最小権限開示に焦点を当てています。JSpecifyとSpringを使用したNull安全に関するガイドは、より安全なコーディングプラクティスとして推奨されています。最後に、A Bootiful Podcastでは、エンタープライズにおけるAIのリスクについての議論が特集され、ビデオでは最新のJobRunrリリースが紹介されました。
著者はPTO(有給休暇)を取得しており、水辺でコーヒーを楽しみながら、コーディング、学習、水泳を交互に行っています。今週の「This Week in Spring」のアップデートは、新しいコンテンツでいっぱいです。動画では、BeanからSpring Bootまで、Springの基本を網羅的に解説しています。Spring AIに関する新しいUdemyコースが発見されました。記事では、Java SDKを使用してAG-UIを構築する方法を詳しく説明しています。SivaLabsは、Spring AIを使用してチャットアプリケーションを構築する方法についての投稿を提供しています。ペイウォール記事では、モデルへの生のHTTPリクエストを行うのではなく、Spring AIを効果的に使用することについて論じています。イタリア語のディスカッションでは、Spring AIでRAGを実装することについて掘り下げています。Spring AIとEmbabelで構築することに関するプレゼンテーションも見つかりました。AI機能、特にSpring AIとSpring Bootで構築されたAI機能のガバナンスとオブザーバビリティを提供するCapsteadプロジェクトは、新たに発見されました。先週の「A Bootiful Podcast」では、Russ Milesが生産的なAIインタラクションについて議論しました。最後に、Spring in Actionの著者であるCraig Wallsが、Spring AIを使用した永続的なチャットメモリに関する投稿を公開しました。
今週のSpringでは、コミュニティにいくつかのエキサイティングなアップデートと発表がありました。分散ジョブ実行エンジンであるJobRunrがSpring Initializrに追加され、開発者がこのツールを簡単に使い始められるようになりました。Craig Walls氏による最近の投稿では、Spring AIでの複数の大規模言語モデルの使用について探求しており、開発者にとって貴重な洞察を提供しています。Spring for Apache KafkaとKafka Streamsのデッドレターキューの使用に関する記事も公開されており、Kafkaを扱っている人々にとって役立つリソースとなっています。Spring BootチームのメンバーであるMoritz Halbritter氏は、Spring Framework 7とSpring Boot 4がヌルポインターを特定し、排除するのにどのように役立つかについての講演を行いました。Spring Cloud ContractはStubborn.shに新しい場所に移管され、開発者にとって重要なツールであり続けるでしょう。A Bootiful Podcastの最近のエピソードでは、ホストがSpring FrameworkとSpring AIのコントリビューターであるSebastien Deleuze氏と対談しました。Spring AIのMCPアノテーションに関するチュートリアルが公開されており、開発者にとって役立つガイドとなっています。Spring AIの導入も強調されており、Springコミュニティに利益をもたらす可能性を示しています。全体として、Springコミュニティは活況を呈しており、Apache Kafkaの背後にある企業であるConfluentのようなベンダーは、自社製品がSpringエコシステムをどのようにサポートし、強化できるかに焦点を当てています。
この記事の著者は春のファンで、2011年1月から『This Week in Spring』という週刊の総括記事を執筆しています。著者はちょうどアジアツアーを終え、現在は日本で休暇中で、春の世界の新しい動きについて学びながらリラックスする予定です。Microsoftは新しいSpring AI 2.0リリースとAzure CosmosDBとの統合についてブログ記事を書いています。Craig WallsはSpring AIとElevenLabs Voicesを使った音声の使い方も書いています。Spring Bootの最新バージョン4.1は、CVEの新機能とパッチを含んでリリースされており、ユーザーはできるだけ早くコードを更新することが推奨されています。著者は脆弱性の発見・開示・修正の過程を説明し、AIがこのプロセスを容易にしつつもCVEの数を増加させたことを説明しています。著者はまた、Spring Boot 4.1の新機能、例えばMongoDB支援のSpring Batchリポジトリと自動設定機能についても言及しています。さらに、著者はSpring AI 2.0における自己修正構造化出力に関するブログ記事やCVEの現状に関するポッドキャストエピソードなど、興味深い記事やポッドキャストも紹介しています。著者は他にもいくつかのリソースについて言及しており、Spring Bootに関する日本語シリーズや、Spring AIでエージェントスキルを構築する投稿があります。全体として、この記事はSpringエコシステムの最新動向をアップデートし、ユーザーに最新のリリースやセキュリティパッチを常に把握するよう促しています。
Spring Data 2025.0.13 の提供開始を発表します。これは Spring Data 3.5.x ジェネレーションの最後のオープンソースリリースとなる見込みです。このサービスリリースにはリグレッション修正のみが含まれており、ユーザーは可能な限り速やかに最新の 4.0.x または 4.1.x リリースにアップグレードすることが推奨されます。Spring Boot 3.5.16 は、この Spring Data リリースを組み込む予定です。新しいリリースには、Spring Data Commons、Spring Data JPA、Spring Data MongoDB など、それぞれ独自のドキュメントと変更履歴を持つ様々なモジュールが含まれています。Spring Data for Apache Cassandra、Spring Data KeyValue、Spring Data Neo4j もこのリリースに含まれています。さらに、Spring Data LDAP、Spring Data REST、Spring Data Redis はバージョン 3.5.13 に更新されました。Spring Data Elasticsearch と Spring Data Couchbase はバージョン 5.5.13 に更新され、Spring Data Relational はバージョン 3.5.13 に更新されました。各モジュールのリリースノートとドキュメントは、ユーザーが確認できるよう利用可能です。ユーザーは、修正と改善を活用するために最新バージョンにアップグレードすることが奨励されます。チームは、最新の機能と修正を確実に利用するために、ユーザーが都合の良い時に最新の 4.0.x または 4.1.x リリースへのアップグレードを検討することを推奨しています。
大規模言語モデルは強力ですが、ソフトウェア統合のための構造化データには苦労します。Spring AI の構造化出力は、モデルが定義されたスキーマに準拠したテキストを生成できるようにすることで、このギャップを埋めます。このテキストは、その後、型付きオブジェクトに解析されます。Spring AI 2.0 は、プロバイダーネイティブの構造化出力と自己修正スキーマ検証という 2 つの主要な強化機能を導入しています。デフォルトは変更されていないため、既存のコードは互換性を保ちます。構造化出力を生成するために、開発者は Java のレコードを定義し、次に .entity() メソッドを使用してターゲット型を指定します。このプロセスは内部的にレコードから JSON スキーマを生成し、それをプロンプトに追加し、モデルの JSON レスポンスを目的のオブジェクトに解析し直します。Spring AI 2.0 より前のこのプロセスでは保証がなく、モデルがスキーマから逸脱した場合に解析エラーが発生する可能性がありました。.validateSchema() スイッチは、自己修正リトライループをアクティブにし、モデルのレスポンスをスキーマに対して自動的に検証し、検証が失敗した場合は特定のエラーフィードバックとともにプロンプトを再発行します。より強力な保証のために、.useProviderStructuredOutput() は、プロバイダー固有の API 機能を利用して、ソースでスキーマ準拠を強制します。これにより、無効なレスポンスが最初から発行されるのを防ぐことで、不正な出力が最小限に抑えられます。これらの 2 つの機能は、プロバイダーネイティブ出力がプライマリ制約として機能し、スキーマ検証がフォールバックとして機能することで、最大の回復力を実現するために組み合わせることができます。List や Map のようなジェネリック型の場合、単純な Class の代わりに ParameterizedTypeReference が使用されます。.responseEntity() メソッドは、解析されたエンティティとメタデータ用の生の ChatResponse の両方にアクセスできます。組み込みコンバーターが不十分な場合、カスタム StructuredOutputConverter 実装は、標準外の JSON ラッピングや、YAML や CSV のようなまったく異なる形式を処理できます。これにより、多様な統合ニーズに対してさらなる柔軟性が提供されます。
CdXz5zHNQW_ujOXatEKZz.png
Spring Batchは、歴史的にJobRepositoryでジョブ実行状態を保存するためにSQLデータベースに依存していました。この要件は、MongoDBのようなNoSQLデータベースを中心に作業しているユーザーにとっても維持されていました。最近のSpring Batchバージョンでは、JobRepositoryがJDBCから分離され、Spring Boot 4.1ではMongoDBの自動構成が導入されました。これにより、バッチメタデータをMongoDBに保存できるようになり、個別のSQLデータベースの必要性がなくなりました。この記事では、JobRepositoryとしてMongoDBを使用したSpring Batchジョブの完全な例を示します。この例では、Docker Composeを使用してMongoDBとPostgreSQLをセットアップします。CSVから顧客データを読み込み、それをPostgreSQLテーブルに書き込むETLジョブを定義します。これは、宛先テーブルをリセットするステップと、実際のデータ転送を行うステップの2つのステップで実現されます。データ転送ステップでは、FlatFileItemReader、シンプルなプロセッサ、およびJdbcBatchItemWriterを使用します。このチャンクベースのステップには、耐障害性とリトライメカニズムが構成されています。その後、アプリケーションが実行され、すべてのジョブ実行の詳細がMongoDBに記録されます。OpenTelemetryとGrafanaの統合により、オブザーバビリティが向上します。この記事では、GraalVMネイティブイメージでSpring Batchを動作させることや、最適化のための遅延データソース接続についても触れています。重要な点は、Spring BatchがMongoDBとシームレスに統合されるようになり、開発者は好みのデータベースを妥協なく使用できるようになったということです。
今週のSpringは、インドのニューデリーからライブでお届けしており、リリースアップデートで賑わった一週間をハイライトしています。延期されていた5月のリリースが到着し、Spring Boot 4.1.0が重要な新バージョンとなりました。Spring AI 2.0も利用可能になり、セマンティックキャッシングやツールコーリングといったエキサイティングな進歩を特徴としています。最近のBootiful Podcastのエピソードでは、Spring SecurityのリードであるRob Winch氏へのインタビューが特集されました。Spring Tools 5.2.0のアップデートは、VS CodeとEclipseのデベロッパーエクスペリエンスを向上させています。Spring AIバージョン1.0.9および1.1.8、Spring Cloudバージョン2025.0.3および2025.1.2を含む、他のいくつかのSpringプロジェクトもアップデートを受けました。Spring Shell、Spring Modulith、Spring Batchも新しいリリースがありました。その他の注目すべきアップデートには、Spring Vault、Spring for Apache Pulsar、Spring Integration、Spring Web Flow、Spring Web Services、Spring Authorization Serverが含まれます。Spring Dataは、その他のデータ関連のアップデートとともに、2026.0.0リリースで一般提供が開始されました。最後に、Spring REST Docs、Spring Security、Spring Session、Spring AMQP、Spring for Apache Kafka、Spring LDAP、Spring Retryもアップデートされました。