스프링 구조 및 설정

servlet-context.xml
root-context.xml
ServletConfig.java
RootConfig.java
스프링 관련 설정
web.xml WebConfig.java Tomcat 구동 관련 설정

 

프로젝트 구동 초기

  1. web.xml에서 시작
  2. <listener>에서 ContextLoaderListener 동작 실행
  3. <context-param>에서 root-context.xml의 경로 및 처리 실행
  4. root-context.xml에 정의된 객체(Bean)들이 스프링의 영역(context) 안에 생성, 객체들 간의 의존성 처리
  5. 스프링 MVC에서 사용하는 DispatcherServlet이 서블릿과 관련된 동작 실행
  6. DisPatcherServlet에서 servlet-context.xml을 로딩 및 실행

 

SpringFramework MVC 처리 순서

  1. 클라이언트(client)가 서버로 요청(request)를 보냄
  2. DispatcherServlet에서 요청을 가로챔
  3. DispatcherServlet -> HandlerMapping으로 보냄
  4. HandlerMapping에서 컨트롤러를 찾음
  5. @RequestMapping을 통해 요청을 처리할 메서드에 도달
  6. DispatcherServlet은 HandlerAdapter 빈에게 요청 처리 위임
  7. 해당 요청을 처리할 service를 주입(DI)받아 비즈니스 로직을 service에 위임
  8. DAO는 MyBatis 설정을 이용해 SQL쿼리를 날려 DB에 저장되어 있는 정보를 받아 서비스에서 되돌려 줌
  9. 모든 비즈니스 로직을 끝낸 서비스가 결과물을 컨트롤러에 넘김
  10. 컨트롤러에선 Model 객체에 결과물을 넣거나, 어떤 View(jsp)를 보여줄 것이진 정보를 담아 DispatcherServlet에 넘김
  11. viewResolver는 해당 jsp를 찾아 DispatcherServlet에 알려줌
  12. view에 응답 로직을 처리 시킴
  13. DispatcherServlet이 클라이언트에게 랜더링 된 view를 응답

+ Recent posts