Spring은 개발환경 설정에 있어 초기 설정들이 많다.
이로 인해 Spring으로 개발을 하려면 진입 장벽이 있다. 이러한 초기 설정을 간편하게 해주기 위해 등장한 것이 Spring Boot.
이는 Spring과 다르게 Tomcat과 같은 웹 서버를 내장하여 별도의 웹 서버를 설치하지 않아도 되고 Spring과 외부 라이브러리를 자동으로 구성한다.
즉, 개발자의 편의를 위해 개발된 도구다.
다시말해 Spring Boot는 스프링 프레임웍을 사용하는 프로젝트를 아주 간편하게 setup할 수 있는 스프링 프레임워크의 서브프로젝트다.
@SpringBootApplication
public class Sprweb1Application {
public static void main(String[] args) {
SpringApplication.run(Sprweb1Application.class, args);
}
}
@SpringBootApplication
해당 어노테이션으로 Spring의 메인 실행 함수임을 명시한다.
application.properties
: 추가적인 환경설정을 작성한다. ex) server.port = 80
1) 스프링 MVC의 주요 구성 요소
DispatcherServlet : 클라이언트의 요청을 전달받는다. 컨트롤러에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과값을 view에 전달하여 알맞은 응답을 생성하도록 한다.
HandlerMapping : 클라이언트의 요청URL을 어떤 컨트롤러가 처리할지를 결정한다.
Controller : 클라이언트의 요청을 처리한뒤, 그 결과를 DispatcherServlet 에 알려준다.
ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.
클라이언트의 요청을 DistpatcjerServler에 전달
요청한 url에 맞는 controller 검색하여 HandlerMapping에 전달
HandlerMapping에서 해당 controller에 처리 요청
controller에서 처리 결과를 HandlerAdapter에서 ModelAndView 객체로 변환하여 DispatcherServlet에 전달
DispatcherServlet에서 전달받은 ModelAndView 객체를 이용하여 매핑되는 View를 검색
viewResolver에서 처리 결과를 view에 전달
처리결과가 포함된 view를 DispatcherServlet에 전달
DispatcherServlet에서 최종 응답 결과를 클라이언트에게 출력