第一步:引入redistemplate所需jar
<!-- 引入redistemplate所需要的jar-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
![](https://img-blog.csdnimg.cn/60605915580f467c89e639c21f5fac42.png)
第二步:配置redis的配置文件
#redis服务器的IP地址
spring.redis.host=192.168.18.100
#redis的端口号
spring.redis.port=6379
![](https://img-blog.csdnimg.cn/0c25ed0a0d26487b8950ecc09f7b503b.png)
第三步:在测试类中测试
package com.aaa.qy156;
import com.aaa.qy156.entity.Girl;
import com.aaa.qy156.entity.Person;
import com.aaa.qy156.profile.MyProfile;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import javax.annotation.Resource;
@SpringBootTest
class Myspringboot20221008ApplicationTests {
@Autowired
Girl myGirl;
@Autowired
Person person;
@Resource
RedisTemplate redisTemplate;
@Test
void contextLoads() {
}
@Test
public void testProfileGirl(){
System.out.println(myGirl);
}
@Test
public void testPerson(){
System.out.println(person);
}
@Test
public void setValue(){
redisTemplate.opsForValue().set("username","mayunfei");
}
@Test
public void getValue(){
Object username = redisTemplate.opsForValue().get("username");
System.out.println(username);
}
}
![](https://img-blog.csdnimg.cn/c618e729ebda49d7aaa7938f8a06a9b3.png)
在设置值之后在可视化工具中已经可以看到设置的值
![](https://img-blog.csdnimg.cn/e97b6b46a65248a3ae35703172136dd5.png)
补充知识:jsckson
将java对象转换成json或者file:
将file转换成java对象或者java集合:
package com.aaa.qy156.utils;
import com.aaa.qy156.entity.Dept;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
/**
* @author :阿云(2838324678@qq.com)
* @date :Created in 2022/10/22 15:42
* @description:
* @modified By:
* @version:
*/
public class JsonTool {
public static String fromJavaToJson(Object object) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.writeValueAsString(object);
}
public static void fromJavaToJsonFile(File file, Object object) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValue(file,object);
}
public static <T> T fromJsonFileToJava(File file, Class<T> valueType) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
T t = objectMapper.readValue(file, valueType);
return t;
}
public static void main(String[] args) throws Exception {
/* Dept dept = new Dept();
dept.setDeptno(100);
dept.setDname("国防部");
dept.setLoc("chenjian");
*//* String s = fromJavaToJson(dept);
System.out.println(s);*//*
File file = new File("D:\\dept.json");
fromJavaToJsonFile(file,dept);*/
File file = new File("D:\\dept.json");
Dept dept = fromJsonFileToJava(file,Dept.class);
System.out.println(dept);
}
}
package com.aaa.qy156.entity;
import java.io.Serializable;
/**
* (Dept)实体类
*
* @author
* @since 2022-10-09 14:05:08
*/
public class Dept implements Serializable {
private static final long serialVersionUID = -23358512017844036L;
/**
* 主键,部门编号
*/
private Integer deptno;
private String dname;
private String loc;
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
@Override
public String toString() {
return "Dept{" +
"deptno=" + deptno +
", dname='" + dname + '\'' +
", loc='" + loc + '\'' +
'}';
}
}
如果可视化工具看到是乱码或者看不到可以加下面的配置类
package com.aaa.qy156.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import javax.annotation.Resource;
/**
* @author :阿云(2838324678@qq.com)
* @date :Created in 2022/10/19 19:50
* @description:
* @modified By:
* @version:
*/
@Configuration
public class RedisConfig {
@Resource
private LettuceConnectionFactory connectionFactory;
@Bean(value = "redisTemplate")
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
//使用jackson序列化工具(default JDK serialization)
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
//设置任何属性可见
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
//序列化的时候将类名称序列化到json串中
objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
//设置输入时忽略JSON字符串中存在而Java对象实际没有的属性
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
//使用redis自带的字符串序列化工具序列化key和value
RedisSerializer redisSerializer = new StringRedisSerializer();
//key
redisTemplate.setKeySerializer(redisSerializer);
redisTemplate.setHashKeySerializer(redisSerializer);
//value
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
//初始化redisTemplate
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}