我使用的是Spring Boot 2.4.2
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在我的申请中
package com.tuto.app1;
import lombok.Data;
@Data
public class Student {
private String firstName;
private String lastName;
private int age;
}
也是
@Bean
public CacheManager redisCacheManager() {
RedisSerializationContext.SerializationPair<Object> jsonSerializer =
RedisSerializationContext.SerializationPair.fromSerializer(new new Jackson2JsonRedisSerializer<>(Object.class));
return RedisCacheManager.RedisCacheManagerBuilder
.fromConnectionFactory(redisConnectionFactory())
.cacheDefaults(
RedisCacheConfiguration.defaultCacheConfig()
.entryTtl(Duration.ofDays(1))
.serializeValuesWith(jsonSerializer)
)
.build();
}
和
@GetMapping("/students/{name}")
@Cacheable(value = "student")
public Student getStudent(@PathVariable String name) {
Student student = new Student();
student.setFirstName("John");
student.setLastName(name);
student.setAge(30);
return student;
}
第一次调用超文本传输协议://...
{
"firstName": "John",
"lastName": "toto",
"age": 30
}
在缓存里我有
{"firstName":"John","lastName":"toto","age":30}
好吧,这就是我想要的。
但是所有其他调用
http://.../app1/students/toto
你给了我
class java.util.LinkedHashMap cannot be cast to class com.tuto.app1.Student (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; com.tuto.app1.Student is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @32bd421)
java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class com.tuto.app1.Student (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; com.tuto.app1.Student is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @32bd421)
解决办法是什么?
您可以为redis设置json字符串数据。例如:
redistemplate.opsxxx.set("key",JSON.toJsonString(new JavaBean()));
String json = redistemplate.opsxxx.get("key");
//convert
JSON.parseObject(json,JavaBean.class);
我是Java/AWS等的新手,而AWS lambda我们不去序列化我认为是一个微不足道的例子。 API网关日志,它将JSON发送到lambda: 我正在使用这个JSON来提供要反序列化到以下POJO的数据
我们正在从Spring 5.0迁移到Spring Boot 2.4版本。我的控制器代码如下 响应主体是一个HashMap,如上图所示。这段代码在普通的spring webapp中运行良好。同样的代码当我们厌倦了SpringBoot时,我们会得到以下错误 这个错误是在执行代码时从Spring-webmvc.jar的AbstractMessageConvertermetodProcessor.clas
我试图在Spring boot应用程序中传递Docker env变量。yml是这样的: 但是当我使用env变量 和 我犯了这个错误: 有什么想法吗
[[在recycler视图中获取错误,传递hashmap,然后添加到ArrayList,但给出错误,请帮助执行此操作]1
我使用的是Vaadin14和Java1.8。我想实现一个多选组合框,这就是我使用以下Vaadin插件的原因:https://vaadin.com/directory/component/multiselect-combo-box/api/org/vaadin/gatanaso/MultiselectComboBox.html 实例化和使用combobox效果很好,但是我得到了一个错误 尝试“保存”