这篇文章主要介绍了Spring整合redis(jedis)实现Session共享,需要的朋友可以参考下
今天来记录一下自己在整合框架过程中所遇到的问题:
1. 在用redis实现session共享时,项目启动报 No bean named 'springSessionRepositoryFilter' is defined 异常
2. 在调用缓存工具类的时候显示注入的JedisPool为Null (一个跟spring扫描有关的细节错误)
好了,开始上我整合的文件了
pom.xml依赖jar包
redis.clientsjedis2.9.0org.springframework.sessionspring-session-data-redis1.2.1.RELEASE
web.xml配置
contextConfigLocationclasspath:spring-cfg.xmlspringSessionRepositoryFilterorg.springframework.web.filter.DelegatingFilterProxyspringSessionRepositoryFilter/*encodingFilterorg.springframework.web.filter.CharacterEncodingFiltertrueencodingUTF-8encodingFilter/*org.springframework.web.context.ContextLoaderListenerSpringMVCorg.springframework.web.servlet.dispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1trueSpringMVC/
spring-cfg.xml配置文件
classpath:jdbc.propertiesclasspath:redis.properties
jdbc.properties
driverClassName=com.MysqL.jdbc.Driver validationQuery=SELECT 1 jdbc_url=jdbc:MysqL://localhost:3306/zyt_demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull jdbc_username=root jdbc_password=root
redis.properties
redis.isopen=on redis.host=127.0.0.1 redis.port=6379 redis.maxIdle=300 redis.maxActive=600 redis.maxWait=1000 redis.testOnBorrow=true redis.timeout=2000 #redis.password=
以上是整合的配置文件,其中有关redis的配置是整合成功的关键
问题总结
1.之前整合完启动项目报异常,是因为配置文件放置的位置问题,以至于启动不成功,多试几遍,以上的配置文件是可以用的
2.之前调用缓存工具类,显示注入JedisPool为空,在controller那边注入又有值,是因为我在controller那边调用工具类的方式是new出来的,所以导致spring在扫描那个工具类时丢失Jedispool注入,在controller中改用注入工具类的形式即可解决
例如:
总结
以上所述是小编给大家介绍的Spring整合redis(jedis)实现Session共享的过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程之家网站的支持!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。