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

학생님의 프로필 이미지
학생

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MVC와 템플릿 엔진

model 인터페이스 객체의 생성시점

작성

·

386

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

1

안녕하세요. 학생님, 공식 서포터즈 David입니다.

해당 부분은 아래 강의 "MVC 프레임워크 만들기, 스프링 MVC - 구조 이해" 섹션에서 다루고 있으니 참고 부탁드립니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1

간단하게  답변드리자면, 이미 만들어져있는 model을 가져와서 컨트롤러의 파라미터에 전달해주기 때문에 런타임에서는 model 객체를 사용하게 됩니다.

감사합니다.

학생님의 프로필 이미지
학생

작성한 질문수

질문하기