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)
JasperReports 怎么与 spring boot集成