[Spring] 뷰 리졸버(View Resolver) 개념 이해하기

    스프링 백엔드에서 데이터를 처리하거나 가지고 왔다면, 이 데이터를 View의 영역으로 전달을 해야 한다. 이때 View를 어떤 것을 사용할지 자유롭게 설정을 할 수 있는데 이 설정 역할을 하는 것이 View Resolver라고 생각하면 된다.

     

    예를 들어  데이터를 API 형태로 제공하길 원한다면 View Resolver를 통해서 프론트엔드 프레임워크로 보내지 않고, JSON 형태(Json View 라고 함)로 전달해줄수도 있고, 한국에서 가장 많이 사용하는 Java 프론트엔드 언어인 JSP 페이지로도 보낼수도 있다.

     

    https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spring_mvc_architecture

     

    이렇게 원하는 뷰 타입의 Dependency를 추가하게 되면 다양한 방식으로 보여줄 수 있는데 아래와 같은 View를 제공해주고 있다.

     

    View Type

    Thymeleaf

    - Dependency 추가 시 별도 설정 없이 HTML 파일로 View 제작

    - HTML 이지만 JSP 처럼 동작 가능

    - Spring에서 가장 밀어주고 있는 View

     

    Velocity

    - 초기에 가장 인기를 끌던, 템플릿이었지만 유지보수가 잘 진행이 되지 않아 현재 deprecate 되었음

     

    FreeMarker

    - Apache 프로젝트로 템플릿 엔진

    - 템플릿 및 변경 데이터를 기반으로 텍스트 출력 (HTML 웹페이지, 이메일, 구성 파일, 소스 코드 등)을 생성하는 Java 라이브러리

    https://freemarker.apache.org/

     

     

     

    JsonView

    - API 형태로 제공할 때 가장 많이 사용하는 View

     

    JSP

    - 국내에서는 가장 많이 사용하는 표준 View

    - Spring boot에서는 별도의 설정을 해야 사용이 가능할 정도로 권장하지 않고 있음

     

    View별 트렌드

    View별 트렌드

     

    위 내용은 지난 12개월동안 대한민국에서의 View별 트렌드로, 아직까지 JSP는 1년동안 몰락하지 않고 건재하고 있다는 것을 알 수 있다. 

     

    Velocity라는 말은 사실, 속도라는 의미이기 때문에 JSP나 FreeMarker, Thymeleaf에 비해서 키워드의 유리함이 있기에 사실 상, Thymeleaf가 Velocity보다 앞서지 않았나 싶다. 

     

     

    반응형

    댓글

    Designed by JB FACTORY