项目GitHub地址 :
https://github.com/FrameReserve/TrainingBoot
Spring Boot(六)集成Spring session redis ,标记地址:
https://github.com/FrameReserve/TrainingBoot/releases/tag/0.0.6
Centos7 安装 Redis 3.2.0
http://blog.csdn.NET/a286352250/article/details/51603189
Centos7 开机启动 Redis 3.2.0
http://blog.csdn.Net/a286352250/article/details/52595387
Spring Boot(五)集成 Redis
http://blog.csdn.net/a286352250/article/details/53157201
pom.xml
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
web.xml集成 Spring Session Redis
src/main/webapp/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Archetype Created Web Application</display-name>
<!-- delegatingFilterProxy -->
<filter>
<filter-name>springSessionRepositoryFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSessionRepositoryFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
测试Session:
src/main/java/com/training/redis/controller/DemoRedisController.java
package com.training.redis.controller;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.training.core.controller.BaseRedisController;
import com.training.core.dto.Pair;
import com.training.core.dto.ResultDataDto;
import com.training.redis.dto.DemoSessionDto;
import com.training.redis.entity.DemoRedis;
import com.training.redis.service.DemoRedisService;
@RestController
@RequestMapping(value="/demoRedis")
public class DemoRedisController extends BaseRedisController<DemoRedis> {
@Resource
private DemoRedisService demoRedisService;
/**
* 查询所有Session
*/
@ApiOperation(value="查询所有Session", notes="getEntityById")
@RequestMapping(value = "/getSesstion", method = RequestMethod.GET)
public @ResponseBody ResultDataDto getEntityById(HttpSession httpSession) {
Enumeration<String> sessionkeys = httpSession.getAttributeNames();
List<Pair<String, String>> list = new ArrayList<Pair<String,String>>();
while (sessionkeys.hasMoreElements()) {
String key = (String) sessionkeys.nextElement();
list.add(new Pair<String, String>(key, httpSession.getAttribute(key).toString()));
}
return ResultDataDto.addSuccess().setDatas(list);
}
/**
* 新增测试Session
*/
@ApiOperation(value="新增测试Session", notes="getEntityById")
@RequestMapping(value = "/addSesstion", method = RequestMethod.GET)
public @ResponseBody ResultDataDto addEntity(HttpSession httpSession) {
DemoSessionDto session = new DemoSessionDto();
session.setKey("testKey");
session.setValue("testValue");
httpSession.setAttribute(session.getKey(), session.getValue());
return ResultDataDto.addAddSuccess();
}
}
测试:
http://localhost:8080/addSesstion
重启 Tomcat
http://localhost:8080/getSesstion
Session依旧存在