Spring+SpringMVC+Redis
来源:互联网 发布:计算机算法书籍推荐 编辑:程序博客网 时间:2024/06/07 23:10
- 搭建Redis环境
Redis github下载地址
CSDN资源下载地址
目前官方推荐的最新稳定版本为3.2.1
下载之后直接解压得到以下目录结构
点击redis-server.exe即可启动Redis数据库
看到如下截图,Redis即启动成功 - 搭建spring环境
添加springmvc需要的依赖包
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.4.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.4</version> </dependency>
- 集成Redis
①添加Redis需要的依赖包
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.7.5.RELEASE</version> </dependency> <!-- Redis客户端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
②配置Redis : spring-redis.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 引入redis配置 --> <context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true"/> <!-- Redis 配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.pool.maxTotal}" /> <property name="maxIdle" value="${redis.pool.maxIdle}" /> <property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}" /> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> </bean> <!-- redis单节点数据库连接配置 --> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="${redis.ip}" /> <property name="port" value="${redis.port}" /> <!-- <property name="password" value="${redis.pass}" /> --> <property name="poolConfig" ref="jedisPoolConfig" /> </bean> <!-- redisTemplate配置,redisTemplate是对Jedis的对redis操作的扩展,有更多的操作,封装使操作更便捷 --> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory" /> </bean></beans>
redis.properties
redis.pool.maxTotal=105redis.pool.maxIdle=10redis.pool.maxWaitMillis=5000redis.pool.testOnBorrow=trueredis.ip=127.0.0.1redis.port=6379
4. 配置DispatcherServlet
这里采用硬编码的方式对DispatcherServlet进行配置,不依赖于web.xml
package white.yu;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;import white.yu.config.RootConfig;import white.yu.config.WebConfig;/** * DispatchServlet 拦截器 * @author white * */public class MainDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { /** * 配置应用上下文 */ @Override protected Class<?>[] getRootConfigClasses() { return new Class<?>[] { RootConfig.class }; } /** * 配置web上下文 */ @Override protected Class<?>[] getServletConfigClasses() { return new Class<?>[] { WebConfig.class }; } /** * 配置DispatcherServlet映射路径 */ @Override protected String[] getServletMappings() { return new String[] { "/" }; }}
应用上下文RootConfig
package white.yu.config;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.ComponentScan.Filter;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.FilterType;import org.springframework.context.annotation.ImportResource;import org.springframework.stereotype.Controller;import org.springframework.web.servlet.config.annotation.EnableWebMvc;@Configuration@ComponentScan(basePackages = { "white.yu" }, excludeFilters = { @Filter(type = FilterType.ANNOTATION, value = Controller.class), @Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class) })@ImportResource("classpath:spring/spring-*.xml") //引入redis的配置文件public class RootConfig {}
web上下文 WebConfig
package white.yu.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.ViewResolver;import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.springframework.web.servlet.view.InternalResourceViewResolver;@Configuration@EnableWebMvc@ComponentScan({ "white.yu.web" })public class WebConfig extends WebMvcConfigurerAdapter { /** * 配置视图解析器 * * @return */ @Bean public ViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".html"); resolver.setExposePathVariables(true); return resolver; } /** * 配置静态资源处理器 */ @Override public void configureDefaultServletHandling( DefaultServletHandlerConfigurer configurer) { super.configureDefaultServletHandling(configurer); configurer.enable(); }}
- 编写测试Controller
package white.yu.web;import java.util.List;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.ListOperations;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import white.yu.cache.RedisCache;import white.yu.entity.User;@Controller@RequestMapping("user")public class UserController { @Resource(name = "redisTemplate") private ListOperations<String, User> listOps; @RequestMapping("/list") @ResponseBody public List<User> list() { // 获取Redis数据库中的所有user数据 // -1 表示获取数据库中的所有数据 List<User> range = listOps.range("user", 0, -1); return range; } @RequestMapping("/add") @ResponseBody public User list(User user){ // 添加到Redis数据库 listOps.leftPush("user", user); return user; }}
0 0
- Spring+SpringMVC+Redis
- SPRINGMVC+MYBATIS+SPRING+REDIS
- spring+springmvc+redis配置
- Spring+springMvc+redis+elasticsearch
- springmvc+spring+redis+nginx分布式
- springmvc+spring+jpa(hibernate)+redis+maven配置
- springmvc+mybatis+spring+redis后台架构
- springmvc+spring-security+mybatis +redis 框架抽取
- Spring+springmvc+hibernate+redis整合配置文件
- Spring+SpringMVC做Redis集群(Sentinel模式)
- Spring+SpringMVC+Shiro+Redis+Maven权限管理
- Spring+SpringMVC+mybatis+redis(一)
- Spring+SpringMVC+mybatis+redis(二)
- Spring+SpringMVC+mybatis+redis(三)
- spring或者springmvc整合使用redis
- SpringMVC+Spring+mybatis+redis项目从零开始--Springmvc配置实现
- SpringMVC+Spring+mybatis+redis项目从零开始--Springmvc配置实现
- mybatis+spring+springmvc+springsession + redis实现session共享配置
- 企业弱密码问题该如何解决?
- 机器学习之决策树和随机森林及代码示例
- 为啥一个java文件只能有一个public类
- Qt 模态对话框与非模态对话框及生命周期
- iOS沙盒文件存储
- Spring+SpringMVC+Redis
- RadioButton和HorizontalScrollView实现分类标签
- (POJ2777)Count Color <经典:线段树区间修改 + 或运算记颜色数>
- boost_处理时间
- 线程安全性问题
- 下行资源分配类型
- linux内核list.h
- PAT 1096 Consecutive Factors (暴力,最大连续乘积)
- chown命令--Linux命令应用大词典729个命令解读