작성한 질문수
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
상품 등록 처리 - @ModelAttribute
해결된 질문
작성
·
487
0
@ModelAttribute Item item 이런식으로 사용하면
Item 객체를 만들고 프로퍼티를 찾아서 setter로 값을 바인딩시킨다고 배웠습니다. (model.addAttribute()는 생략 가능)
이 부분이 궁금한데 사용자가 넘긴 데이터를 어떻게 파싱해서 각각 필드에 setter로 값을 바인딩 시켜줄 수 있는건가요?
@ModelAttribute 내부에서 @RequetParam을 사용하는건가요?
답변 1
안녕하세요, 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감사합니다.