IT 로드맵백엔드 대본영프레임워크 수련이다.

수련장은 Spring과 그 둘레를 맡는다. 자바 수련각이 「내 코드가 어떻게 도나」를 봤다면, 여기는 「내가 안 짠 코드가 내 코드를 어떻게 불러 주나」를 본다.

지금 이 구역에서 끝낸 수련은 하나다.


익힌 것 — main() 한 줄을 8단계로 따라갔다

Study · Spring BootSpringApplication.run() 한 줄이 HTTP 응답 한 번이 되기까지를 여덟 토막으로 잘라, 단계마다 버튼으로 한 스텝씩 넘기며 보는 페이지다.

단계 무엇을 보나 남는 것
1 · 시작 main() 한 줄이 무엇을 시작하나 run() 안의 일곱 줄
2 · 자동 구성 무엇을 켤지 정한다 조건 271개가 157:114로 갈린다
3 · 빈 빈을 만들어 통에 담는다 317개 중 내 것은 5개
4 · 프록시 프록시로 감싼다 주입받은 것이 내 클래스가 아니다
5 · 톰캣 톰캣이 올라가고 포트가 열린다 요청 전에 이미 스레드 12개
6 · 스레드 스레드 하나가 집어 간다 매번 다른 스레드, 같은 컨트롤러
7 · 매핑 어느 메서드인지 고른다 표는 기동 때 이미 만들어져 있다
8 · 응답 JSON이 되고 스레드가 반납된다 첫 요청만 유난히 느리다

8단계를 한 번 지나면 다음 질문에 답할 수 있다 — 내가 켜지 않은 설정이 왜 켜져 있나, 주입받은 객체가 왜 내 클래스가 아닌가, 컨트롤러 하나를 여러 요청이 동시에 쓰는데 왜 안 깨지나, 첫 요청만 왜 느린가.


같이 읽는 글

프레임워크가 무엇을 해 주는지 알고 나면, 그 위에서 코드를 어디에 놓을지가 다음 문제다. 그건 코딩 스탠다드가 맡는다.


아직 안 한 것

  • 트랜잭션 — Study에는 없다. 전파 속성, 프록시 자기 호출, 롤백 규칙
  • Security — 필터 체인이 DispatcherServlet 앞에 어떻게 붙나
  • JPA와 영속성 컨텍스트 — 1차 캐시, 더티 체킹, 플러시 시점
  • AOP — Study 4단계는 프록시가 생긴 것만 본다. 포인트컷과 어드바이스는 안 봤다

← 백엔드 대본영으로

최상단으로 이동했습니다!
확대 이미지

조회수: - · -

업데이트: