アノテーションインターフェース EnableSpringHttpSession


@RetentionSE(RUNTIMESE) @TargetSE(TYPESE) @DocumentedSE @Import(SpringHttpSessionConfiguration.class) public @interface EnableSpringHttpSession
このアノテーションを @Configuration クラスに追加して、SessionRepositoryFilter を "springSessionRepositoryFilter" という名前の Bean として公開し、ユーザー提供の SessionRepository の実装によってサポートされます。アノテーションを活用するには、単一の SessionRepository Bean を提供する必要があります。例:
 
 @Configuration(proxyBeanMethods = false)
 @EnableSpringHttpSession
 public class SpringHttpSessionConfig {

     @Bean
     public MapSessionRepository sessionRepository() {
         return new MapSessionRepository(new ConcurrentHashMap<>());
     }

 }
  

セッションの有効期限のためのインフラストラクチャは、すぐに使用できるように構成されていないことに注意することが重要です。これは、セッションの有効期限などが実装に大きく依存するためです。つまり、期限切れのセッションをクリーンアップする必要がある場合は、期限切れのセッションをクリーンアップする責任があります。

基本構成では、以下が提供されます。

  • SessionRepositoryFilter - SessionRepository による HttpSession の実装で HttpServletRequest をラップする責任があります
  • SessionEventHttpSessionListenerAdapter-Spring Session イベントを HttpSessionEvent に変換するロールを果たします。それが機能するためには、提供する SessionRepository の実装が SessionCreatedEventSessionDestroyedEvent をサポートしている必要があります。
導入:
1.1