閉じる

Spring Session

Dragonfruit-SR1

Spring Session は、ユーザーのセッション情報を管理するための API と実装を提供します。

機能

Spring Session を使用すると、アプリケーションコンテナー固有のソリューションに縛られることなく、クラスター化されたセッションを簡単にサポートできます。また、以下との透過的な統合も提供します。

  • HttpSession - アプリケーションコンテナー(つまり、Tomcat)中立的な方法で HttpSession を置き換え、RESTful API で動作するようにヘッダーでセッション ID を提供することをサポート

  • WebSocket - WebSocket メッセージを受信する際に HttpSession を存続させる機能を提供する

  • WebSession - Spring WebFlux の WebSession をアプリケーションコンテナーニュートラルな方法で交換できます

モジュール

Spring Session は、次のモジュールで構成されています。

  • Spring Session コア - Spring Session のコア機能と API を提供する

  • Spring Session データ Redis - Redis および構成サポートに裏付けられた SessionRepository および ReactiveSessionRepository 実装を提供する

  • Spring Session JDBC - リレーショナルデータベースと構成サポートに裏付けられた SessionRepository 実装を提供する

  • Spring Session Hazelcast - Hazelcast と構成サポートに裏付けられた SessionRepository 実装を提供する

Spring Session をビルドに追加する

このプロジェクトでは、Maven BOM(部品表)とリリーストレインを使用して、バージョン(例: Bean-SR10Corn-SR2 など)を調整します。

Maven での BOM の使用

Maven では、最初に BOM をインポートする必要があります。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-bom</artifactId>
      <version>Corn-SR2</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
  • この例では Corn-SR2 を使用していますが、必要なリリーストレインバージョンをプラグインします。

  • <dependencyManagement> セクションと import スコープの使用に注意してください。

次に、<version> なしでプロジェクトに依存関係を追加します。

<dependencies>
  <dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
  </dependency>
</dependencies>

Gradle での BOM の使用

Gradle には Maven BOM に対する一流のサポートがないため、Spring の依存関係管理プラグイン (英語) を使用できます。

Gradle プラグインポータルからプラグインを適用します(必要に応じてバージョンを更新します)。

plugins {
  id 'io.spring.dependency-management' version '1.0.9.RELEASE'
}

次に、それを使用して BOM をインポートします。

dependencyManagement {
  imports {
    mavenBom 'org.springframework.session:spring-session-bom:Corn-SR2'
  }
}

最後に、バージョンなしでプロジェクトに依存関係を追加します。

dependencies {
  compile 'org.springframework.session:spring-session-data-redis'
}

Spring Boot 構成

Spring Initializr

プロジェクトのクイックスタート

Spring Initializr (英語) を使用してアプリケーションをブートストラップします。

ドキュメント

Spring プロジェクト別に用意されています。プロジェクトの機能を使用する方法と、それを使用して達成できることを詳細に説明しています。
Dragonfruit-SR1 CURRENT GA リファレンスドキュメント (GitHub)
2020.0.0-M1 PRE リファレンスドキュメント (GitHub)
Corn-SR4 GA リファレンスドキュメント (GitHub)
Bean-SR12 GA リファレンスドキュメント (GitHub)