인프런 커뮤니티 질문&답변
model 인터페이스 객체의 생성시점
작성
·
445
1
안녕하세요.
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data", "hello!!");
return "hello";
}
위 부분에서 hello(Model model) 의 Model 정의를 타고가면 Model은 클래스가 아니라 인터페이스로 보이는데
그럼 실제 이 인터페이스를 먼저 객체로 만들고 사용해야 할 것 같은데 실제 동작과정이 궁금합니다.
1.Model model 이 선언만으로 익명구현객체화 하여 사용가능한 건가요?
2.그런데 구글링 해보니 스프링 내부적으로 컨트롤러 호출 전에 Model을 객체화 한다고 하는데 그렇다면 객체화 해둔 것을 가져와서 사용해야하는 것 아닌지...
3. 2의 설명이 맞다면 해당부분 코드를 확인하고 싶습니다.
java 문법을 잘몰라 기초적일 수 있는 질문이지만 드려봅니다
감사합니다.
답변 1
2
안녕하세요. 학생님, 공식 서포터즈 David입니다.
해당 부분은 아래 강의 "MVC 프레임워크 만들기, 스프링 MVC - 구조 이해" 섹션에서 다루고 있으니 참고 부탁드립니다.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1
간단하게 답변드리자면, 이미 만들어져있는 model을 가져와서 컨트롤러의 파라미터에 전달해주기 때문에 런타임에서는 model 객체를 사용하게 됩니다.
감사합니다.





