猿问

JPA 自定义转换器中的空指针异常 - 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 boot 应用程序中使用它。


守着星空守着你
浏览 173回答 1
1回答

温温酱

@Autowired 注解只有在 Spring 管理的 bean 中使用时才有效。然而,您的类 Test 仅使用 @Converter 进行注释,这是 java 纯注释。请尝试在您的测试类上使用 @Component spring 注释。
随时随地看视频慕课网APP

相关分类

Java
我要回答