Spring boot Jackson与Maven的数据绑定问题
我面临一个问题,我有一个使用JavaPOJO的maven项目Spring boot Jackson与Maven的数据绑定问题,spring-boot,jackson,maven-2,lombok,Spring Boot,Jackson,Maven 2,Lombok,我面临一个问题,我有一个使用JavaPOJO的maven项目 import lombok.Builder; import lombok.Getter; /** * User DTO. */ @Builder @Getter public class UserDto { private String username; } 很抱歉,我已经将这个maven依赖项添加到另一个基于Spring boot的项目中。 我在应用程序测试期间遇到以下异常 org.springframework.c
import lombok.Builder;
import lombok.Getter;
/**
* User DTO.
*/
@Builder
@Getter
public class UserDto {
private String username;
}
很抱歉,我已经将这个maven依赖项添加到另一个基于Spring boot的项目中。
我在应用程序测试期间遇到以下异常
org.springframework.core.codec.codeception:类型定义错误:
嵌套异常为com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造com.models.UserDto的实例(不存在与默认构造类似的创建者):无法从对象值反序列化(无委托或基于属性的创建者)
然而,每当我将SpringBootStarter父依赖项添加到maven项目时,我都没有看到任何错误,并且应用程序按照预期工作
注意:另外,项目通过向pojo添加默认构造函数来工作。但我的问题是,为什么它会与Spring boot starter一起工作
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
org.springframework.boot
spring启动程序父级
2.2.1.发布
如果没有默认构造函数,我看不出在任何情况下这是如何工作的。请发布一个你声称这是有效的Spring Boot应用程序的最小示例。Lombok的哪些版本与Spring父级一起使用,哪些版本不与Spring父级一起使用?我怀疑这是由于spring父级管理的Lombok版本发生了更改。