IntelliJ IDEA 2022.1.3、Springboot 使用 Redis
目录结构及版本
1、本地下载redis,启动服务不要关
2、添加pm依赖
<!--Redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
3、使用依赖jar包自带的RedisTemplate写一个RedisUtil工具类
package com.jeesite.modules.student.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
@Component
public class RedisUtil {
@Autowired
RedisTemplate redisTemplate;
public String getString(final String key) {
return redisTemplate.opsForValue().get(key).toString();
}
public boolean setString(final String key, String value) {
boolean result = false;
try {
redisTemplate.opsForValue().set(key, value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
4、测试
package com.jeesite.modules.student;
import com.jeesite.modules.student.service.RedisUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class MyRedisTest {
@Autowired
private RedisUtil redisUtil;
@Test
public void test() {
Boolean flag = null;
flag = redisUtil.setString("testRedisKey", "testRedisValue");
System.out.println(flag);
System.out.println(redisUtil.getString("testRedisKey"));
}
}
可能的报错及解决办法:
1、报错:Could not autowire. No beans of ‘RedisUtil’ type found.
解决:@Autowired 换成 @Resource
2、报错:Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration
分析解决:启动时报这个错,原因是测试类所在包的目录结构与RedisUtil的不一致。测试类所在包目录结构与RedisUtil类的保持一致