미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 웹 기능 - 등록 부분/ MemberForm 클래스 질문드립니다.
createMemberForm.html에서 input에 값을 입력하고 '등록'버튼을 눌러서 컨트롤러에 요청하는 부분을 공부하고 있습니다.
여기서 한 가지 의문점이 생겼는데요
제가 알고 있기론 html에서 컨트롤러로 요청될 때 순서가
1. html에서 스프링 컨테이너로 url을 요청하면 그걸 컨트롤러에서 받음.
2. 비즈니스 로직을 수행하고 적절한 값을 리턴
이런식인걸로 알고 있습니다.
그래서
1. createMemberForm.html에서 id 값을 input에 입력한 후 등록버튼을 눌러주면 @PostMapping(value="/member/new")로 전달되는거까진 이해가 가는데
2. 그 아래 메서드 public String create(MemberForm form) 에서는 어떻게 MemberForm 클래스와 상호작용하는건지 모르겠습니다.
MemberController에 써준 String create(MemberForm form) 메서드에서 파라미터를 받을 때
html에서 전송되는 form 값이 MemberForm 클래스를 거쳐서 오는 것 같이 보여지는데..
별개로 생성된데다가 @Controller도 써주지 않은 MemberForm 클래스와 어떻게 연결되는건가요?
그냥 MemberForm form 이렇게 써주면 자동적으로 스프링이 MemberForm 클래스를 찾아서 거기서 form으로 전송된
name 값을 setter로 MemberForm 클래스 객체에 저장하고 다시 public String create(MemberForm form) 메서드로 가져오는 것인가요?
그렇다고 하기엔, MemberForm 클래스는 @Controller도 안 해주었기 때문에 스프링 컨테이너에 등록이 안 된 상태 아닌가요?