스프링 구조 및 설정
servlet-context.xml root-context.xml |
ServletConfig.java RootConfig.java |
스프링 관련 설정 |
web.xml | WebConfig.java | Tomcat 구동 관련 설정 |
프로젝트 구동 초기
- web.xml에서 시작
- <listener>에서 ContextLoaderListener 동작 실행
- <context-param>에서 root-context.xml의 경로 및 처리 실행
- root-context.xml에 정의된 객체(Bean)들이 스프링의 영역(context) 안에 생성, 객체들 간의 의존성 처리
- 스프링 MVC에서 사용하는 DispatcherServlet이 서블릿과 관련된 동작 실행
- DisPatcherServlet에서 servlet-context.xml을 로딩 및 실행
SpringFramework MVC 처리 순서
- 클라이언트(client)가 서버로 요청(request)를 보냄
- DispatcherServlet에서 요청을 가로챔
- DispatcherServlet -> HandlerMapping으로 보냄
- HandlerMapping에서 컨트롤러를 찾음
- @RequestMapping을 통해 요청을 처리할 메서드에 도달
- DispatcherServlet은 HandlerAdapter 빈에게 요청 처리 위임
- 해당 요청을 처리할 service를 주입(DI)받아 비즈니스 로직을 service에 위임
- DAO는 MyBatis 설정을 이용해 SQL쿼리를 날려 DB에 저장되어 있는 정보를 받아 서비스에서 되돌려 줌
- 모든 비즈니스 로직을 끝낸 서비스가 결과물을 컨트롤러에 넘김
- 컨트롤러에선 Model 객체에 결과물을 넣거나, 어떤 View(jsp)를 보여줄 것이진 정보를 담아 DispatcherServlet에 넘김
- viewResolver는 해당 jsp를 찾아 DispatcherServlet에 알려줌
- view에 응답 로직을 처리 시킴
- DispatcherServlet이 클라이언트에게 랜더링 된 view를 응답
'프로그래밍 > 프로젝트 정리' 카테고리의 다른 글
[오라클 클라우드]프로젝트 호스팅 서버 만들기 (0) | 2022.01.24 |
---|---|
스프링 MVC의 Controller (0) | 2022.01.19 |
HikariCP 설정 및 테스트 (0) | 2022.01.18 |
JDBC 테스트 코드 (0) | 2022.01.18 |
스프링 프레임워크 특징 (0) | 2022.01.18 |