JPA 自定义转换器中的空指针异常 - Spring 启动
Null Pointer exception in JPA custom converter - Spring boot
@Converter(autoApply = true)
public class Test implements AttributeConverter<TestObj, String> {
@Autowired
private ObjectMapper mapper;
@Override
public String convertToDatabaseColumn(TestObj object) {
try {
return mapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
return null;
}
}
@Override
public TestObj convertToEntityAttribute(String s) {
try {
return mapper.readValue(s, TestObj.class);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
上面的代码导致 NullPointerException
因为 mapper
对象没有被初始化。当我没有添加时它起作用了,
@Converter(autoApply = true)
知道如何让它工作吗?我在 spring 引导应用程序中使用它。
@Autowired 注释仅在由 Spring 管理的 bean 中使用时才有效。然而,您的 class 测试仅使用 @Converter 注释,这是 java 纯注释。请尝试在您的测试 class.
上使用 @Component spring 注释
@Converter(autoApply = true)
public class Test implements AttributeConverter<TestObj, String> {
@Autowired
private ObjectMapper mapper;
@Override
public String convertToDatabaseColumn(TestObj object) {
try {
return mapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
return null;
}
}
@Override
public TestObj convertToEntityAttribute(String s) {
try {
return mapper.readValue(s, TestObj.class);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
上面的代码导致 NullPointerException
因为 mapper
对象没有被初始化。当我没有添加时它起作用了,
@Converter(autoApply = true)
知道如何让它工作吗?我在 spring 引导应用程序中使用它。
@Autowired 注释仅在由 Spring 管理的 bean 中使用时才有效。然而,您的 class 测试仅使用 @Converter 注释,这是 java 纯注释。请尝试在您的测试 class.
上使用 @Component spring 注释