Spring 의 기본 동작순서와 구조 MVC
먼저 스프링의 기본 동작순서와 구조를 살펴보자.
1. Client : URL 로 접근하여 정보를 요청한다.
2. View : 화면단에서 보여주기 위해 요청을 전송
3. DispatcherServlet : (web.xml 에 포함, Spring에서 제공) 해당 요청을 Mapping 한 컨트롤러가 있는지 검색한다.
4. HandlerMapping : (xxx.xml 에 포함[Servlet설정파일] Spring 에서 @RequestMapping()을 통해 제공 ) 처리 요청 - Bean등록
5. Controller : (@RequestMapping(value="ex.do")) DTO(데이터 전송 객체)를 이용해 Data를 전송
6. Service : DTO를 이용해 Data를 전송
7. DAO : (Data Access Object) DTO를 이용해 Data를 전송
8. DB : DTO를 이용해 받은 Data를 데이터베이스에서 가공해 반환
9. DAO : DTO를 이용해 반환된 Data를 전송
10. Service : DTO를 이용해 반환된 Data를 전송
11. Controller : 클라이언트의 요청 처리하고 결과를 출력한 View의 이름을 리턴
12. DispatcherServlet : 컨트롤러에서 보내온 View 이름을 토대로 처리하고 View를 검색
13. ViewResolver : (web.xml에 포함, Spring 제공) 처리결과를 View에 송신
14. DispatcherServlet : 처리결과가 포함된 View를 DispatcherServlet 에 송신
15. Client : 최종 결과를 출력
위 번호순대로 요청에서 처리까지 값이 전달되며 프로세스가 이루어진다.
여기서 크게 4가지로 분류해 관리하는데,
먼저
View 에서 보여지는 부분을 관리하며
Spring 이 View와 Controller 의 데이터를 주고받을 수 있게 DistpatcherServlet, HandlerMapping, ViewResolver등을 제공하며
Controller 에서 View 와 model 사이에 통신역할을 하고,
Model 에서 Service, DAO 를 이용해 비즈니스 로직 처리와 데이터를 처리하게 된다.