대규모 서비스가 있을 때 여러 종류의 서비스를 한 클래스에서 처리하는 대신 Controller라는 중간 제어자를 만들어 A 서비스에 대한 것은 A-Controller가 맡고, B 서비스는 B-Controller가 맡는 식으로 역할에 따라 설계하고 코딩하여 개발 비용과 유지보수비용을 줄일 수 있기 때문에 Controller를 사용함
Controller 사용법
스프링에서 컨트롤러를 지정해주기 위한 어노테이션 두 가지 : @Controller와 @RestController
@Controller
전통적인 Spring MVC의 컨트롤러
주로 View를 반환하기 위해 사용
@ResponseBody 어노테이션과 같이 사용하면 RestController와 똑같은 기능을 수행할 수 있음