之前一直有听说过redis,一直想整合SpringMVC+redis,但是无奈一直没有时间。这次趁着到新公司上班,暂时没有什么任务的间隔,搭建了SpringMVC+redis。由于多redis的理解比较粗浅,如有说的不对的地方,欢迎指正,共同进步!同时后续的文章都是基于该环境进行更高层析的修改的。
本文基于eclipse+springmvc+redis开发。
一、搭建SpringMVC环境
之前已经写过了一篇Spring+SpringMVC+hibernate的文章,在这里有就不做过多的解释,直接开始撸代码。
1. 引入jar包
(1)引入springMVC相关的jar包
使用的spring版本:spring-framework-4.0.0.RELEASE,在WEB-INF/lib添加如下jar包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar
spring-web-4.0.0.RELEASE.jar
spring-webmvc-4.0.0.RELEASE.jar
(2)加上第三方核心包
commons-logging-1.2.jar
2. 配置web.xml
主要是配置Spring容器、springMVC容器以及编码过滤器
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
springDispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
springDispatcherServlet
/*
charsetEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
charsetEncodingFilter
/*
(2)配置springmvc.xml
在与src同级目录下建立"source Folder"(eclipse下),命名为config
主要是配置扫描的包、视图解析器、静态资源文件以及开启注解模式
在config文件夹下建立applicationContext.xml文件
(4)配置完后初步结果
(5)测试ApplicationContext
package com.yusys.junit;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringRedisTest {
private static ApplicationContext applicationContext;
static{
applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
}
@Test
public void testApplicationContext(){
System.out.println(applicationContext);
}
}
通过错误可以知道缺少aop包:添加spring-aop-4.0.0.RELEASE.jar 到lib文件夹下,并且Build Path --> Add to Build Path
二、整合redis
需要jar包:
jedis-2.1.0.jar
commons-pool-1.5.4.jar
spring-data-redis-1.0.2.RELEASE.jar
在这里推荐一个下载jar的地方:http://search.maven.org/
(1)在config下创建redis.properties,主要是redis的一些设置
# Redis Setting
# Redis默认有16个库,序号是0-15,默认是选中的是0号数据库
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口,默认是6379
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制),根据实际情况修改
spring.redis.pool.maxActive=8
# 连接池最大阻塞等待时间(使用负值表示没有限制),根据实际情况修改
spring.redis.pool.maxWait=-1
# 连接池中的最大空闲连接,根据实际情况修改
spring.redis.pool.maxIdle=8
# 连接池中的最小空闲连接,根据实际情况修改
spring.redis.pool.minIdle=0
# 连接超时时间(毫秒),根据实际情况修改
spring.redis.timeout=2000
package com.yusys.junit;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.redis.core.RedisTemplate;
public class SpringRedisTest {
private static ApplicationContext applicationContext;
static{
applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
}
@Test
public void testRedisConnection(){
RedisTemplate redisTemplate = (RedisTemplate)applicationContext.getBean("redisTemplate");
redisTemplate.renameIfAbsent("abc", "bbb");//如果key=abc存在,则将key修改为bbb
System.out.println(redisTemplate);
}
}
这里介绍一个比较low的可视化软件:Redis Desktop Manager
通过修改可以看到key已经从abc变为bbb了,测试成功!