![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbqTYn%2Fbtsd14vmGab%2FS06uRGNzqhT7VlBGDxKIh0%2Fimg.png)
개발로그
[개발로그] @ModelAttribute 기본생성자가 필요한 경우
@ModelAttirbutes 동작과정 1. 클라이언트로부터 전송된 폼 데이터가 컨트롤러에 도착 2. 스프링은 폼 데이터를 바탕으로 @ModelAttribute 붙은 클래스의 객체 생성 3. 폼 데이터의 필드 이름과 객체 필드의 이름과 일치하는 경우 폼 데이터의 필드의 값을 객체 필드에 할당 4. 객체의 생성과 필드 할당이 이뤄지면 컨트롤러 메서드의 파라미터로 전달 2~3번 과정은 ArgumentResolver에서 이뤄지며 다음의 과정을 거친다. 1. 기본 생성자를 확인하고 있다면 사용해서 객체 생성 2. 기본 생성자가 없다면 폼 데이터와 일치하는 매개변수를 가지는 다른 생성자를 찾음 3. 폼 데이터의 필드 이름과 생성자의 매개변수 이름이 일치하는 경우 해당 생성자를 사용해 객체 생성 기본생성자가 필요할..