Spring Boot
-
Spring Boot - HandlerMapping의 동작 방식Framework & Library/Spring Boot 2023. 1. 30. 14:49
HandlerMapping의 동작방식 HandlerMapping의 역할 HandlerMapping은 클라이언트로부터 받은 요청을 처리하기 위해 적절한 handler를 찾아온다는 것을 들어보았을 것이다. 구체적으로 HandlerMapping은 사용자 요청의 URL과 매칭되는 handler를 선택하는 역할을 수행한다. 이번 게시글에서는 HandlerMapping이 어떠한 방식으로 요청에 대한 handler를 찾는지 알아보겠다. Spring MVC의 요청 처리 흐름 HandlerMapping의 역할을 살펴보기 전에, Spring MVC에서 요청이 어떠한 순서로 처리되는지 알아보겠다. 1. 우선, front-controller의 역할을 하는 DispatcherServlet이 요청을 받는다. 2. Dispatch..
-
Spring Boot - AOPFramework & Library/Spring Boot 2021. 9. 23. 18:04
AOP AOP의 필요성 - 모든 메서드의 호출 시간을 측정하고 싶은 경우를 생각해본다. - 해결 방법은 위 사진과 같이 각 계층마다 시간을 측정하는 로직을 작성하는 방법이 있다. - 이때, 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 코드가 복잡해지고 유지보수가 어려워진다는 문제점이 발생한다. - 핵심 관심 사항(핵심 비즈니스 로직)과 공통 관심 사항(시간을 측정하는 로직)을 분리함으로써 이러한 문제점을 해결할 수 있다. AOP를 통한 해결 - 위 그림과 같이 핵심 관심 사항(핵심 비즈니스 로직)과 공통 관심 사항(시간을 측정하는 로직)을 분리한다. - 시간을 측정하는 로직을 공통 로직으로 만든 후 원하는 적용 대상을 선택해 준다. - 이와 같이 공통으로 처리해야 하는 기능들을 별도로 분리함으로..
-
Spring Boot - 스프링 웹 개발 기초Framework & Library/Spring Boot 2021. 9. 23. 17:49
정적 콘텐츠의 동작 과정 1. 웹 브라우저 요청 ex) localhost:8080/hello-static.html 2. 내장 톰캣 서버에서 콘텐츠 탐색 2-1. 우선, 스프링 컨테이너에 접근 → hello-static 관련 컨트롤러가 존재하지 않음 2-2. static 폴더에 접근 → hello-static.html 파일이 존재 3. 브라우저에 hello-static.html 파일을 렌더링 MVC와 템플릿 엔진의 동작 과정 1. 웹 브라우저 요청 ex) localhost:8080/hello-mvc?name=spring 2. 내장 톰캣 서버에서 콘텐츠 탐색 2-1. 스프링 컨테이너에 접근 → 해당 url과 매핑된 컨트롤러가 존재 2-2. 모델이 전달받은 데이터를 처리한 후, 템플릿 이름을 반환 2-3. v..