纯Java配置Springmvc中应用redis

基于之前博客的二次开发

  • pom.xml
<!--redis -->

<!--spring-data-redis版本不能太高害怕有冲突 -->

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-redis</artifactId>

<version>1.7.5.RELEASE</version>

</dependency>

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.9.0</version>

</dependency>
  • redis.properties
host=127.0.0.1

port=6379
  • RedisConfig.java
package com.niugang;



import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.PropertySource;

import org.springframework.core.env.Environment;

import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.core.StringRedisTemplate;

import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

import org.springframework.data.redis.serializer.StringRedisSerializer;

import com.fasterxml.jackson.annotation.PropertyAccessor;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.fasterxml.jackson.annotation.JsonAutoDetect;



@Configuration

@PropertySource("classpath:redis.properties")

public class RedisConfig {

@Autowired

private Environment env;

@Bean

public JedisConnectionFactory jedisConnectionFactory(){

JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();

jedisConnectionFactory.setHostName(env.getProperty("host"));

jedisConnectionFactory.setPort(Integer.parseInt(env.getProperty("port")));

return jedisConnectionFactory;

}

@Bean

@SuppressWarnings({ "rawtypes", "unchecked" })

public RedisTemplate<String, Object> redisTemplate(){

RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();

redisTemplate.setConnectionFactory(jedisConnectionFactory());

// 使用Jackson2JsonRedisSerialize 替换默认序列化

Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

ObjectMapper objectMapper = new ObjectMapper();

objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

// 设置value的序列化规则和 key的序列化规则

redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);

redisTemplate.setKeySerializer(new StringRedisSerializer());

redisTemplate.afterPropertiesSet();

return redisTemplate;

}

@Bean

public StringRedisTemplate stringRedisTemplate(){

return new StringRedisTemplate(jedisConnectionFactory());

}

}
  • RootConfig.java 引入RedisConfig.class
@Import({JdbcConfig.class,MybatisConfig.class,TransactionalConfig.class,RedisConfig.class})

public class RootConfig {

}

 

  • RedisService.java
package com.niugang.service;

import javax.annotation.Resource;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.stereotype.Service;



@Service

public class RedisService {

@Resource

private RedisTemplate<String, Object> redisTemplate;

/**

* 往redis中存入数据

* @param keyW

* @param value

*/

public void put(String key,Object value){

redisTemplate.opsForValue().set(key, value);

};

/**

* 从redis中去数据

* @param key

* @return

*/

public Object get(String key){

return redisTemplate.opsForValue().get(key);

};

}

   

微信公众号 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值