MVC와 템플릿 엔진
-
Model, View, Controller
-
model1 방식
-
View : 화면을 그리는데에 집중
-
Model, Controller : 비지니스 로직 관련. 내부적으로 처리하는데에 집중
-
실행 순서
웹 브라우저
-> 톰캣 내장 서버로 주소 전달
-> 톰캣은 스프링 컨테이너에 있는 helloController 한테 전달
-> helloController 안에 매핑되어있는 메서드 호출
-> 메서드는 model에 값 넣고, 템플릿 명 리턴
-> spring은 viewResolver 실행
-> viewResolver가 templates/리턴값.html를 thymeleaf 템플릿 엔진에 넘겨서 처리 후 html 변환해서 웹브라우저에 넘겨줌
-
viewResolver : 화면과 관련된 해결자 -> 뷰 찾아주고 템플릿 엔진 연결시켜줌 (spring mvc 강좌에서 자세하게 설명할 것임)
API
- 데이터를 바로 내리는 방식
- 뷰가 없고 리턴 값이 그대로 내려감
- 객체를 반환할 때는 기본으로 json으로 반환함
- 웹브라우저 -> 톰캣 내장 서버로 주소 전달 -> 톰캣은 스프링 컨테이너에 있는 helloController 한테 전달 -> @ResponseBody라는 annotation이 붙어있으면 http 응답에 그대로 문자나 객체를 전달 (객체는 기본으로 json으로 전달)
(ViewResolver 대신에 HttpMessageConverter가 동작하면서 JsonConverter나 StringConverter가 동작)
intelliJ 단축키
- ctrl + p : 파라미터 설명 보기
- ctrl + shift + enter : 자동 완성
- alt + insert : generate 열림 (getter, setter,...등)
(출처 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술)