Search

스프링 작동원리

request - http://localhost:8000/login (POST), body: username, password
1.
톰캣 서버 시작
2.
권한, 인증, 인코딩 등의 필터 적용
3.
주소에 따라 라우팅을 진행하여 각 컨트롤러들에 알맞게 배분하는 디스패쳐 적용
4.
/login 루트를 관리하는 컨트롤러 메모리 할당
5.
login 서비스 실행 및 메모리 할당
6.
JPA 레포지토리로 DB조작 요청 및 레포지토리 메모리 할당
7.
영속성 컨텍스트 생성 및 엔티티 검색
8.
Datasource가 DB에 질의
9.
DB가 데이터를 반환
10.
영속성 컨텍스트에 오브젝트 등록
11.
User 오브젝트를 받고 로그인에 성공하면, 세션에 User 정보 등록
12.
html 페이지를 반환하는 일반 컨트롤러라면, 응답 받은 결과를 View Resolver에 전달
RestController라면 응답으로 받은 결과 자체를 반환
인터셉터는 어떠한 함수가 실행 되기 직전이나 직후에, 매개값이나 반환값을 가로채 접근권한을 확인하는 기능을 한다.