当前位置: 首页 > wzjs >正文

网站安装教程北京新闻最新消息

网站安装教程,北京新闻最新消息,波莱网站开发,网页设计基础课程设计你遇到的问题是: RedisConnectionFactory redisConnectionFactory 在单元测试中为 null 这是 Spring Boot 单元测试中非常常见的问题,根本原因是你的测试类没有启用 Spring 容器上下文,导致 Resource 注解无法注入 Bean。 ✅ 正确做法&…

你遇到的问题是:

RedisConnectionFactory redisConnectionFactory 在单元测试中为 null

这是 Spring Boot 单元测试中非常常见的问题,根本原因是你的测试类没有启用 Spring 容器上下文,导致 @Resource 注解无法注入 Bean。

✅ 正确做法:使用 Spring Boot 的单元测试支持
✅ 1. 添加必要的注解
你需要在你的测试类上加上如下两个关键注解:

Java
深色版本
@RunWith(SpringRunner.class)
@SpringBootTest
这样 Spring 才能启动上下文,并完成自动装配。

✅ 2. 修改后的完整代码如下:
Java
深色版本
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.connection.RedisConnectionFactory;

import javax.annotation.Resource;
import java.util.Properties;

@RunWith(SpringRunner.class)        // 启用 Spring 测试支持
@SpringBootTest                      // 启动 Spring Boot 上下文
public class RedisConnectionFactoryTest {

    @Resource
    private RedisConnectionFactory redisConnectionFactory;

    @Test
    public void test1() {
        // 默认 class org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory
        System.out.println(redisConnectionFactory.getClass());

        // 当前db的key数量
        Long keyCount = redisConnectionFactory.getConnection().dbSize();
        System.out.println("当前db的key数量 = " + keyCount);

        Properties properties = redisConnectionFactory.getConnection().info();
        System.out.println(properties);
    }
}
📌 注意事项:
如果你在项目中同时配置了 Jedis 和 Lettuce(如你的 application.yml 所示),Spring Boot 默认会优先使用 Lettuce。
确保你的 Redis 服务器可以被访问:
IP、端口是否正确?
是否有防火墙限制?
密码是否正确?
🔍 可选:查看当前使用的 Redis 客户端类型
你可以通过打印 redisConnectionFactory 的类型来确认当前使用的是哪个客户端:

Java
深色版本
System.out.println(redisConnectionFactory.getClass());
// 输出示例:class org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory
✅ 补充说明:为什么之前为空?
你原来的测试类只是一个普通的 JUnit 测试类,没有加载 Spring 上下文,所以 Spring 无法识别 @Resource 或 @Autowired 注解,也就不会为你注入任何 Bean。

原因    解释
没有 @SpringBootTest    Spring 上下文未启动,Bean 无法注入
没有 @RunWith(SpringRunner.class)    JUnit 不知道要和 Spring 集成
所以 redisConnectionFactory == null    Spring 没有注入
✅ 总结
问题    原因    解决方案
redisConnectionFactory 为 null    没有启用 Spring 上下文    添加 @SpringBootTest 和 @RunWith(SpringRunner.class)
无法连接 Redis    配置错误或网络不通    检查 Redis 地址、密码、端口、防火墙等
不确定使用的是 Jedis 还是 Lettuce    默认是 Lettuce    查看 redisConnectionFactory.getClass()

http://www.dtcms.com/wzjs/362893.html

相关文章:

  • 网站建设行业地位重庆网络推广平台
  • 做电销要在哪个网站上找资源产品软文撰写
  • 宁波哪里可以做网站88个seo网站优化基础知识点
  • web制作网页教程百度搜索引擎优化方式
  • 深圳龙岗做网站的公司网站软件开发
  • 含数据的wordpress白杨seo博客
  • 2018如何做网站外链百度快照如何优化
  • 网站开发维护今日财经新闻
  • 做金融网站违法吗制作网站需要多少费用
  • 做资源下载网站用什么工具搜索引擎收录入口
  • 网站建设能赚钱吗中央新闻频道直播今天
  • 工业设计创意网站搜索引擎快速优化排名
  • wordpress分类目录默认模版公司seo是什么意思
  • 秦皇岛网站制作 微商城建设查询网址域名ip地址
  • 电商平台建设做网站网络推广站
  • 生活服务行业网站建设百度竞价推广点击软件奔奔
  • 网站建设费 会计分录首页
  • 石碣做网站百度有人工客服吗
  • 电子商务网站制作常用的营销方法和手段
  • 门户网站建设建议b2b网站大全免费推广
  • 网站试用模块深圳英文网站推广
  • 深圳公司网站设计哪家好建立网站平台需要多少钱
  • 广州网站建设兼职网站查询域名入口
  • 做b2b比较好的网站关键词推广
  • 济南网站建设公司排行网站推广方法大全
  • 中小型网站建设与管理设计总结商品seo优化是什么意思
  • 响应式一页网站个人网页制作成品
  • wordpress快速建站视频教程百度识图网页版在线使用
  • 南宁大型网站开发百度seo怎么查排名
  • 轻淘客网站怎么做软文广告代理平台