问题: SpringBoot 整合redis后,使用@Test测试,出现空指针异常
解决↓
SpringBoot整各reids,然后测试
新创建一个Maven项目,自己创建
引入pom依赖
<dependencies>
<!--集成redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
</dependencies>
配置yml文件
server:
port: 1001
spring:
redis:
password: 123456
host: localhost
port: 6379
连接测试
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
public class Demo1 {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void getName(){
redisTemplate.opsForValue().set("name","hello");
System.out.println("redisTemplate.opsForValue().get(name) = " + redisTemplate.opsForValue().get("name"));
// String ping = redisTemplate.getConnectionFactory().getConnection().ping();
// System.out.println("ping = " + ping);
}
}
启动
包空指针异常
然后想可能因为redis有密码,就在yml文件中加上的redis的密码,结果还是不可以,然后找了各中方法
解决 NullPointerException
使用junit4 的test
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope><!--test表示只能在test目录下使用此依赖-->
</dependency>
然后再次测试,发现是报错
然后类上面加上注解
@RunWith(SpringRunner.class)//使用测试类时,启动spring
@SpringBootTest
public class Demo1 {
...
}
然后再次测试,成功