springboot集成Spring Session

Posted tpf386

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot集成Spring Session相关的知识,希望对你有一定的参考价值。

10.1 分布式集群环境下的集成(同域名、同项目)

10.1.1        创建SpringBoot的web支持项目07-springboot-session

创建项目

10.1.2        在pom.xml文件中添加依赖

<!-- 配置spring session的依赖 -->
<dependency>
   <groupId>org.springframework.session</groupId>
   <artifactId>spring-session-core</artifactId>
   <version>2.1.2.RELEASE</version>
</dependency>
<!-- 配置spring session data redis的依赖 -->
<dependency>
   <groupId>org.springframework.session</groupId>
   <artifactId>spring-session-data-redis</artifactId>
   <version>2.1.1.RELEASE</version>
</dependency>
<!-- springboot集成redis的起步依赖 -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

10.1.3        在application.properties中配置端口号、上下文根及Redis连接

# 配置内嵌tomcat服务器信息
server.port=8080
server.servlet.context-path=/A07-springboot-session

#配置redis连接信息
spring.redis.host=192.168.132.128
spring.redis.port=6379
spring.redis.password=123456

spring.session.store-type=redis

10.1.4        创建SessionController向session中存取数据

代码示例

package com.bjpowernode.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

@RestController
public class SessionController 

    @GetMapping("/boot/set")
    public String setSession(HttpSession session)
        session.setAttribute("url","http://www.bjpowernode.com");
        return  "set session ok";
    

    @GetMapping("/boot/get")
    public String getSession(HttpSession session)
       String url= (String) session.getAttribute("url");
       return  url;
    

10.1.5        让项目使用SpringSession

  • 在SpingBoot程序入口类Application上@EnableRedisHttpSession注解
package com.bjpowernode.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

@SpringBootApplication
@EnableRedisHttpSession
public class A07SpringbootSessionApplication 

    public static void main(String[] args) 
        SpringApplication.run(A07SpringbootSessionApplication.class, args);
    

注解@EnableRedisHttpSession启用redis作为session容器

  • 在application.properties配置文件中加入(可选):spring.session.store-type=redis

10.1.6        启动Redis服务

技术图片

10.1.7        启动SpringBoot程序测试

设置地址:http://localhost:8080/A07-springboot-session/boot/set

获取地址:http://localhost:8080/A07-springboot-session/boot/get

  • 通过Redis Desktop Manager查看Redis库中信息

技术图片

 

 

  • 修改服务器端口号,通过jar包的方式启动9090端口的tomcat,通过浏览器访问从session中取数据

 

以上是关于springboot集成Spring Session的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security应用详解(集成SpringBoot)

Spring Boot 集成MyBatis

Drools集成SpringBoot

JasperReports 怎么与 spring boot集成

企业级 SpringBoot 教程 (十三)springboot集成spring cache

企业级 SpringBoot 教程 (十三)springboot集成spring cache