# Samples and Guides (Start Here)

To get started with Spring Session, the best place to start is our Sample Applications.

|                                                                                           Source                                                                                            |                                                 Description                                                  |                                  Guide                                   |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
|                        [HttpSession with Redis](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-redis)                        |               Demonstrates how to use Spring Session to replace the `HttpSession` with Redis.                |          [HttpSession with Redis Guide](guides/boot-redis.html)          |
|                         [HttpSession with JDBC](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-jdbc)                         |    Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.     |           [HttpSession with JDBC Guide](guides/boot-jdbc.html)           |
|                    [HttpSession with Hazelcast](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-hazelcast)                    |             Demonstrates how to use Spring Session to replace the `HttpSession` with Hazelcast.              |                                                                          |
|                      [Find by Username](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-findbyusername)                       |                     Demonstrates how to use Spring Session to find sessions by username.                     |        [Find by Username Guide](guides/boot-findbyusername.html)         |
|                            [WebSockets](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-websocket)                            |                           Demonstrates how to use Spring Session with WebSockets.                            |              [WebSockets Guide](guides/boot-websocket.html)              |
|                              [WebFlux](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-webflux)                               |       Demonstrates how to use Spring Session to replace the Spring WebFlux’s `WebSession` with Redis.        |                                                                          |
|              [WebFlux with Custom Cookie](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-webflux-custom-cookie)              |    Demonstrates how to use Spring Session to customize the Session cookie in a WebFlux based application.    |[WebFlux with Custom Cookie Guide](guides/boot-webflux-custom-cookie.html)|
|            [HttpSession with Redis JSON serialization](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-redis-json)            |   Demonstrates how to use Spring Session to replace the `HttpSession` with Redis using JSON serialization.   |                                                                          |
|       [HttpSession with simple Redis `SessionRepository`](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-redis-simple)       |Demonstrates how to use Spring Session to replace the `HttpSession` with Redis using `RedisSessionRepository`.|                                                                          |
|[Spring Session with MongoDB Repositories (servlet-based)](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-mongodb-traditional)|                Demonstrates how to back Spring Session with traditional MongoDB repositories.                |    [Spring Session with MongoDB Repositories](guides/boot-mongo.html)    |
|    [Spring Session with MongoDB Repositories (reactive)](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-boot-mongodb-reactive)    |                 Demonstrates how to back Spring Session with reactive MongoDB repositories.                  |    [Spring Session with MongoDB Repositories](guides/boot-mongo.html)    |

|                                                                          Source                                                                           |                                             Description                                             |                            Guide                             |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|    [HttpSession with Redis](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-javaconfig-redis)    |           Demonstrates how to use Spring Session to replace the `HttpSession` with Redis.           |    [HttpSession with Redis Guide](guides/java-redis.html)    |
|     [HttpSession with JDBC](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-javaconfig-jdbc)     |Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.|     [HttpSession with JDBC Guide](guides/java-jdbc.html)     |
|[HttpSession with Hazelcast](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-javaconfig-hazelcast)|         Demonstrates how to use Spring Session to replace the `HttpSession` with Hazelcast.         |[HttpSession with Hazelcast Guide](guides/java-hazelcast.html)|
|    [Custom Cookie](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-javaconfig-custom-cookie)     |                  Demonstrates how to use Spring Session and customize the cookie.                   |    [Custom Cookie Guide](guides/java-custom-cookie.html)     |
|      [Spring Security](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-javaconfig-security)      |        Demonstrates how to use Spring Session with an existing Spring Security application.         |      [Spring Security Guide](guides/java-security.html)      |
|             [REST](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-javaconfig-rest)              |Demonstrates how to use Spring Session in a REST application to support authenticating with a header.|             [REST Guide](guides/java-rest.html)              |

|                                                                   Source                                                                   |                                             Description                                             |                        Guide                        |
|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|-----------------------------------------------------|
|[HttpSession with Redis](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-xml-redis)|       Demonstrates how to use Spring Session to replace the `HttpSession` with a Redis store.       |[HttpSession with Redis Guide](guides/xml-redis.html)|
| [HttpSession with JDBC](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-xml-jdbc) |Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.| [HttpSession with JDBC Guide](guides/xml-jdbc.html) |

|                                                               Source                                                               |                                  Description                                  |Guide|
|------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|-----|
|[Hazelcast](https://github.com/spring-projects/spring-session/tree/main/spring-session-samples/spring-session-sample-misc-hazelcast)|Demonstrates how to use Spring Session with Hazelcast in a Java EE application.|     |