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

gelab님의 프로필 이미지
gelab

작성한 질문수

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

상품 등록 처리 - @ModelAttribute

@ModelAttribute 원리

해결된 질문

작성

·

491

0

@ModelAttribute Item item 이런식으로 사용하면

Item 객체를 만들고 프로퍼티를 찾아서 setter로 값을 바인딩시킨다고 배웠습니다. (model.addAttribute()는 생략 가능)

이 부분이 궁금한데 사용자가 넘긴 데이터를 어떻게 파싱해서 각각 필드에 setter로 값을 바인딩 시켜줄 수 있는건가요?

@ModelAttribute 내부에서 @RequetParam을 사용하는건가요?

답변 1

0

안녕하세요, gelab 님! 공식 서포터즈 codesweaver 입니다.

이 부분은 자바의 리플렉션 이라는 기술을 이용합니다.

객체의 private 필드, 외부에서 정말 접근할 수 없을까요? 실은 리플렉션을 이용하면 이런 제약조건을 무시하고 객체가 가진 정보를 알아낼 수 있습니다 :)

아래의 링크를 참조해주세요. 리플렉션으로 알아낼 수 있는 정보들을 잘 요약해 놓았네요.

https://velog.io/@jsj3282/7.-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%A0%95%EB%B3%B4-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%95%8C%EC%95%84%EB%82%BC-%EC%88%98-%EC%9E%88%EB%82%98

감사합니다.

gelab님의 프로필 이미지
gelab

작성한 질문수

질문하기