Java @启用WebMVC“;禁用";Jackson2对象映射程序BuilderCustomizer如何修复?
我已经证实了内省者() 在我将Java @启用WebMVC“;禁用";Jackson2对象映射程序BuilderCustomizer如何修复?,java,spring,spring-mvc,spring-boot,jackson,Java,Spring,Spring Mvc,Spring Boot,Jackson,我已经证实了内省者() 在我将@EnableWebMvc添加到application类之前,一切正常。现在,所有具有lombok@Value和@Builder注释的DTO都是带空值的文件。似乎我的注释内省在某些地方被spring取代了。但是在哪里呢?Spring说定义Jackson2ObjectMapperBuilderCustomizerbean就足够了 任何关于如何使用@EnableWebMvc配置/修复设置注释内省的想法?不要添加@EnableWebMvc。SpringBoot在没有Spr
@EnableWebMvc
添加到application
类之前,一切正常。现在,所有具有lombok@Value
和@Builder
注释的DTO都是带空值的文件。似乎我的注释内省在某些地方被spring取代了。但是在哪里呢?Spring说定义Jackson2ObjectMapperBuilderCustomizer
bean就足够了
任何关于如何使用
@EnableWebMvc
配置/修复设置注释内省的想法?不要添加@EnableWebMvc
。SpringBoot在没有SpringMVC的情况下自动设置SpringMVC。讨论了类似的问题,并将其添加为en anwser。
public Jackson2ObjectMapperBuilderCustomizer addCustomBigDecimalDeserialization() {
return new Jackson2ObjectMapperBuilderCustomizer() {
@Override
public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) {
jacksonObjectMapperBuilder.annotationIntrospector(
new JacksonAnnotationIntrospector() {
@Override
public JsonPOJOBuilder.Value findPOJOBuilderConfig(AnnotatedClass ac) {
if (ac.hasAnnotation(
JsonPOJOBuilder.class)) {//If no annotation present use default as empty prefix
return super.findPOJOBuilderConfig(ac);
}
return new JsonPOJOBuilder.Value("build", "");
}
}
);
}
};
}