Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- do...while
- @Query
- 테스트 코드
- 공유락
- Service 테스트
- 원시 자료형
- Repository 테스트
- 낙관락
- 스터디
- Entity
- 자바
- 마이크로서비스 아키텍처
- jvm
- 비즈니스 로직
- 스네이크 케이스
- Array
- 스프링 부트
- Java
- @Version
- 파스칼 케이스
- DTO
- OOP
- springDataJpa
- 자료구조
- Controller 테스트
- 배열
- 비링크
- 배타락
- 트랜잭션 락
- 디자인 패턴
Archives
- Today
- Total
menuhwang
[Spring Boot] 스프링 부트 동작 방식 본문
스프링 부트 동작 방식
용어
- Servlet [서블릿] : 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술
- Servlet Container [서블릿 컨테이너] : 서블릿 인스턴스를 생성, 관리. 스프링 부트의 경우 톰캣이 WAS의 역할과 스블릿 컨테이너의 역할을 수행한다.
- Dispatcher Servlet [디스패처 서블릿] : 스프링 내부의 서블릿
동작 방식
더보기
1. Servlet Container가 스프링 Dispatcher Servlet에 클라이언트 요청을 전달.
(Servlet Container 와 Dispatcher Servlet 사이에 여러 filter 들이 존재.)
2. 핸들러 매핑이 요청 URI에 매핑된 핸들러(≒Controller)를 탐색.
3. 핸들러 리턴.
4. 핸들러에 맞는 핸들러 어댑터 탐색.
5. 핸들러 호출.
6. 값 리턴.
7. 리턴 받은 값을 ModelAndView로 가공해 반환.
8. 뷰형식인 경우 뷰 이름 전달.
9. 뷰 리턴.
10. 모델 전달.
11. 모델을 담아 뷰 리턴.
12. 응답
위의 과정을 거쳐 클라이언트의 요청에 따라 응답함.
뷰가 없는 REST 형식을 적용할 경우 스프링 내부의 MessageConverter가 요청과 응답 Body를 알아서 변환.
이러한 복잡한 과정을 스프링에서 해주고있기 때문에 개발자는 비즈니스 로직에 집중할 수 있음.
'스터디 > Spring' 카테고리의 다른 글
[Spring Boot] 로그 남기기 : Logback (1) | 2022.08.24 |
---|---|
[Spring Boot] Swagger : API 명세 (0) | 2022.08.23 |
[Spring Boot] Controller 설계 (0) | 2022.08.22 |
[Spring Boot] 스프링 MVC 모델 레이어드 아키텍처 (0) | 2022.08.19 |
[Spring Boot] 스프링 프레임워크 != 스프링 부트 (1) | 2022.08.18 |
Comments