Could not locate appropriate constructor on class : com.example.demo.model.contract.ClientDTO; nested exception is java.lang.IllegalArgumentException: Could not locate appropriate constructor on class : com.example.demo.model.contract.ClientDTO
Spring Boot로 웹 제작 프로젝트를 하는 중 위와 같은 생성자 오류가 떴다.😅
위와 같은 오류를 뜬 것은 ClientDTO 클래스에 @AllArgsContructor 어노테이션을 넣지 않아서 생긴 오류였다.
처음 만든 ClientDTO
@Data
public class ClientDTO {
private Integer ClientIndex;
private Integer ClientId;
private String clientName;
}
오류를 해결한 ClientDTO
@Data
@AllArgsContructor
public class ClientDTO {
private Integer ClientIndex;
private Integer ClientId;
private String clientName;
}
이렇게 생성자 오류가 났을 때 생성자 어노테이션 주입을 잘 했는지 확인을 하면 된다.!!😀
생성자 오류를 해결했으니 헷갈리기 쉬운 생성자 어노테이션을 알아보겠습니다.
주로 자주 쓰고 볼 수 있는 어노테이션은 @AllArgsContructor과 @NoArgsContructor입니다.
-클래스에 존재하는 모든 필드에 대한 생성자를 생성
-ex) Client client = new Client(1, 1, "Kim");
-어떤 파라미터 값도 존재하지 않는 생성자를 생성
-ex) Client client = new Client();