본문 바로가기

Programming/Java & JSP & Spring

[Spring] 스프링 MVC의 컨트롤러


스프링 MVC를 공부하는데 가장 중요하고 필수적인 질문은 '스프링 MVC의 컨트롤러가 무엇을 처리해주는가' 이다.

스프링 MVC의 컨트롤러가 처리해주는 것은 다음과 같이 정리할 수 있다.

  • 파라미터의 수집 : 웹에서 가장 많이 하는 작업은 사용자의 요청에 필요한 데이터를 추출하고 이를 변환하는 수집작업이다. 스프링 MVC의 컨트롤러는 이러한 처리를 자동으로 해주기 때문에 개발 시간을 크게 단축시킬 수 있다.
  • 애노테이션을 통한 간편 설정 : 스프링 MVC 설정은 XML과 애노테이션을 사용할 수 있지만, 애노테이션을 사용하는 경우가 더 많다.
  • 로직의 집중 : 각 메소드마다 필요한 애노테이션을 설정할 수 있기 때문에 여러 메소드를 하나의 컨트롤러에 집중해서 작성할 수 있다.
  • 테스트의 편리함 : 스프링은 테스트 모듈을 사용해서 WAS의 실행없이도 테스트할 수 있는 편리한 방법을 제공한다.


또한 스프링 MVC 컨트롤러는 몇가지 특징이 있다.

  • 스프링 MVC 컨트롤러는 상속이나 인터페이스를 구현하지 않아도된다. 단지 '@Controller'라는 애노테이션에 대한 추가 작업만 해주면 된다.
  • 메소드의 파라미터와 리턴 타입에 대한 제약이 없다.
  • 스프링 MVC가 제공하는 유용한 클래스들이 존재한다.





참조 : 코드로 배우는 스프링 웹프로젝트