공부하는 블로그

Spring MVC Controller(컨트롤러)가 무엇을 처리해 주는가? 본문

Develop/Spring

Spring MVC Controller(컨트롤러)가 무엇을 처리해 주는가?

모아&모지리 2017. 12. 12. 11:05

1. 파라미터의 수집: 웹에서 가장 많이 사용하는 작업은 사용자의 요청(reqeust)에 필요한 데이터를 추출하고, VO(Value Object)혹은 DTO(Data Transfer Object)로 변환하는 파라미터의 수집 작업입니다. 스프링 MVC의 컨트롤러는 이러한 처리를 자동으로 해주기 때문에 개발 시간을 크게 단축할 수 있습니다.


2. 애노테이션을 통한 간편 설정: Spring MVC의 설정은 크게 XML과 애노테이션을 사용할 수 있지만, 애노테이션을 사용하는 경우가 더 많습니다. 애노테이션을 사용하기 때문에 개발자는 클래스나 메소드의 선언에 필요한 애노테이션을 추가하는 작업을 통해서 요청(request)이나 응답(response)에 필요한 모든 처리를 완료할 수있습니다.


3. 로직의 집중: 기존의 모델2는 특정한 URI마다 컨트롤러를 개발하는 경우가 많았지만 스프링 MVC 컨트롤러의 경우 각 메소드마다 필요한 애노테이션을 설정할 수 있기 때문에 여러 메소드를 하나의 컨트롤러에 집중해서 작성 할 수 있습니다.


4. 테스트의 편리함 : 스프링은 테스트 모듈을 사용해서 스프링 MVC로 작성된 코드를 WAS의 실행 없이도 테스트 할 수 있는 편리한 방법을 제공합니다.


스프링 MVC 컨드롤러와 다른 프레임 워크와 차이점


1. 스프링 MVC 컨트롤러는 상속이나 인터페이스를 구현하지 않아도 됩니다. 기존의 프레임 워크들과 달리 스프링MVC에서는 컨트롤러 작성시 아무런 제약이 없습니다. 그대신 해야하는 작업은 @Controller라는 애노테이션에 대한 추가 작업입니다.


2. 메소드의 파라미터와 리턴타입에 대한 제약이 없습니다. 클래스가 특정 부모 클래스나 인터메이스가 없으니 메소드에 대한 제약도 존재하지 않습니다. 이후에 예제를 통해 살펴보겠지만 파라미터 타입과 리턴타입에 대한 제약이 없는 관계로 기존보다 훨씬 자유로운 코드를 만들어 낼 수 있습니다.


3. 스프링 MVC가 제공하는 유용한 클래스들이 존재압니다. 스프링 MVC의 경우 다양한 클래스를 이용하여 필요한 작업을 수월하게 진행할 수 있습니다. 예를 들면 파일 업로드 처리나 유효성 검사등을 제공하고 있기 때문에 필요한 클래스를 이용해서 빠른 시간내에 개발 할 수 있습니다. 


'Develop > Spring' 카테고리의 다른 글

@어노테이션 정리  (0) 2018.03.06
Spring 이란?  (0) 2018.03.06
AOP 개념  (0) 2017.12.10
JUnit 개념과 설치법  (0) 2017.11.23
Session을 받아오는 방법  (0) 2017.09.29