인프런 커뮤니티 질문&답변

hjy93992님의 프로필 이미지
hjy93992

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

상품 등록 처리 - @ModelAttribute

@ModelAttribute 생성자

작성

·

1.1K

3


1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
여기에 질문 내용을 남겨주세요.
 
ModelAttribute 사용시, 객체를 생성한후 프로퍼티바운딩을 해준다고 배웠는데,
 
Item 클래스에는 기본생성자가 없어서 객체를 어떻게 만드나 궁금해서 soutm을 찍어보니
Item(String name, Integer price, Integer quntity) 생성자를
호출해 주더라고요, 그리고
Item 클래스에 Item() 생성자를 만들어주면
ModelAttribute이용시에 Item()생성자를 호출하는것을 확인했습니다.
 
여기에서 질문하겠습니다.
ModelAttribute 사용시 객체를 생성할때, 여러생성자가 있다면, 어떤 생성자가 호출되는지 메커니즘이 있나요?

답변 1

1

안녕하세요. hjy93992님, 공식 서포터즈 y2gcoder입니다.

간단하게 말씀드리면 다른 생성자가 있을 경우에는 그 생성자를 이용해서 파라미터 바인딩을 시도하고, 기본 생성자만 있을 때는 setter를 통해 파라미터 바인딩을 시도합니다. 

다음 링크를 참고해주세요!

https://hyeon9mak.github.io/model-attribute-without-setter/

감사합니다.

hjy93992님의 프로필 이미지
hjy93992

작성한 질문수

질문하기