- Spring-Session 是 Spring 提供一套管理用户 Session 的实现方案,使用 Spring-Session 之后,默认 WEB 容器,比如 Tomcat,产生的 Session 将会被 Spring-Session 接管
spring集成spring-session&spirng-data-redis xml配置方式
1、jar包引用,修改pom.xml
注意引用的版本,当前spring版本4.3.10.RELEASE<!-- spring session start-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.8.1.RELEASE</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<!-- spring session end-->
2、添加redis.properties
```Redis数据库索引(默认为0)
redis.database=6Redis服务器地址
redis.hostname=127.0.0.1Redis服务器连接端口
redis.port=6379Redis服务器连接密码(默认为空)
redis.password=123456连接池最大连接数(使用负值表示没有限制)
redis.maxTotal=300连接池最大阻塞等待时间(使用负值表示没有限制)
redis.maxWait=10000连接池中的最大空闲连接
redis.maxIdle=100连接池中的最小空闲连接
redis.minIdle=10连接超时时间(毫秒)
redis.timeout=10000
最大过期时间,默认 30 分钟 (秒)
redis.maxInactiveIntervalInSeconds=86400
redis 的 session 命名空间,默认是 spring:session + namespace + :
redis.namespace=
<a name="yCTJl"></a>
## 3、修改applicationContext.xml
```xml
<!-- Spring-Session 配置开始 -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 最大连接数 -->
<property name="maxTotal" value="${redis.maxTotal}"></property>
<!-- 最大等待时间 -->
<property name="maxWaitMillis" value="${redis.maxWait}"></property>
<!-- 最大空闲数 -->
<property name="maxIdle" value="${redis.maxIdle}"></property>
<property name="minIdle" value="${redis.minIdle}"></property>
</bean>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.hostname}" />
<property name="port" value="${redis.port}" />
<property name="password" value="${redis.password}" />
<property name="database" value="${redis.database}" />
<property name="timeout" value="${redis.timeout}" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
</bean>
<!-- 将session放入redis -->
<bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
<property name="maxInactiveIntervalInSeconds" value="${redis.maxInactiveIntervalInSeconds}" />
<property name="redisNamespace" value="${redis.namespace}" />
</bean>
<!-- Spring-Session 配置结束 -->
4、修改web.xml
filter放在第一位
<!-- Spring Session配置开始 -->
<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>
<!-- Spring Session配置结束 -->