当前位置: 首页 > 知识库问答 >
问题:

如何自动连接redistemplate

齐宗清
2023-03-14

我想在弹簧靴中使用RedisTemplate。我可以成功地使用StringRedisTemplate,但我不能使用Redistemplate。这是密码。

@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisEntityTests {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Autowired
    private RedisTemplate<String, RedisEntity> redisTemplate;

    // This test case can run successfully.
    @Test
    public void testString() {
        // save string
        stringRedisTemplate.opsForValue().set("aaa", "111");
        Assert.assertEquals("111", stringRedisTemplate.opsForValue().get("aaa"));
    }

    // This test case I got error.
    @Test
    public void testObject() throws Exception {
        // save object
        RedisEntity redisEntity = new RedisEntity("Tom", 20);
        redisTemplate.opsForValue().set(redisEntity.getName(), redisEntity);

        Assert.assertEquals(20, (redisTemplate.opsForValue().get("Tom")).getAge().longValue());
    }
}

然后,运行测试方法:testObject(),下面是错误报告:

共有1个答案

钮轩昂
2023-03-14

您还没有定义用于在Redistemplate中注入的Bean,您可以创建一个配置文件来解决它。

@Bean
    JedisConnectionFactory jedisConnectionFactory() {
        return new JedisConnectionFactory();
    }

    @Bean
    RedisTemplate< String, Object > redisTemplate() {
        final RedisTemplate< String, Object > template =  new RedisTemplate< String, Object >();
        template.setConnectionFactory( jedisConnectionFactory() );
        template.setKeySerializer( new StringRedisSerializer() );
        template.setHashValueSerializer( new GenericToStringSerializer< Object >( Object.class ) );
        template.setValueSerializer( new GenericToStringSerializer< Object >( Object.class ) );
        return template;
    }
 类似资料:
  • 如何触发此示例 Spring 启动 OAuth2 应用程序的自动注销? 我尝试将以下代码从这个其他帖子的答案添加到应用程序的包中的新控制器类中: 但是,当我尝试启动应用程序时,调试日志会出现以下错误,表明它无法令牌存储: 当编译错误解决后,我打算从以下代码触发注销过程,这些代码将添加到<code>hello中。js控制器在上面的github链接中的应用程序: 示例应用的完整代码位于上面的 gith

  • 下面是我到目前为止的代码: 有人能解释一下在和情况下我该做什么吗?以及如何知道网络已断开并重新连接?

  • USB自动连接 使用USB连接线连接外接装置与已开启电源的PSP™后,PSP™会自动更换为USB模式。 关 不自动更换为USB模式。 开 自动更换为USB模式。 提示 正使用游戏等部份机能时,即使连接USB连接线,亦不会自动更换为USB模式。

  • 问题内容: 当我尝试自动装配Spring RestTemplate时,出现以下错误: 在注释驱动的环境中使用Spring 4。 我的调度程序servlet的配置如下: 我尝试自动连接RestTemplate的类如下: 问题答案: 如果未定义错误,则会看到错误 考虑在配置中定义类型为“ org.springframework.web.client.RestTemplate”的bean。 要么 找不到

  • 问题:当我的spring应用程序运行时,同时数据库服务器停止/重新启动,然后db连接丢失并且从未恢复。 com.mysql.jdbc.exceptions.jdbc4.mysqlnontransientConnectionException:连接关闭后不允许任何操作。 服务mysql启动 问题:如何告诉spring在连接丢失后自动重新连接? 这是我的配置:

  • 我是Spring的新手。我正面临Spring-Boot的问题。我正在尝试将外部配置文件中的字段自动装配到自动装配的bean中。我有以下类 应用程序。Java语言 AppConfig。Java语言 服务接口 服务1 我无法在App类的postconstruct方法中显示服务名称变量。我这样做对吗?