spring3 Spring의 DispatcherSevlet은 무슨 일을 할까? Spring MVC의 DispatcherServlet: 프론트 컨트롤러기존 서블릿 기반 웹 애플리케이션에서는 각 요청에 매핑되는 서블릿을 별도로 정의하고, 서블릿 컨테이너가 요청을 해당 서블릿과 매핑한다. 요청마다 서블릿이 직접 처리하며, 요청을 처리할 때마다 새로운 스레드를 생성하여 작업을 수행한다.하지만 이 방식은 공통 작업(Request, Response 처리 등)을 효율적으로 관리하기 어려웠고, 각 요청마다 중복 코드가 발생하는 문제가 있었다. 이러한 문제를 해결하기 위해 프론트 컨트롤러 패턴이 등장했으며, Spring MVC의 DispatcherServlet이 바로 이 프론트 컨트롤러 역할을 수행하여 요청과 응답의 흐름을 중앙에서 관리하고, 개발자가 비즈니스 로직에만 집중할 수 있도록 돕는다.1.. Spring 2024. 11. 5. Spring Boot 프로젝트 시작 시 Group Id, Artifact Id는 어떻게 설정할까?😯 SpringBoot 프로젝트를 생성할 때 Spring Initializr를 통하곤 하는데, 이때 groupId, artifactId, name과 같은 Metadata를 설정하게 된다. 프로젝트를 신규로 셋업 할 때마다 별것 아닌 것 같아도 고민되는 부분인데, 그 역할과 규칙에 대해 찾아보았다.이러한 부분에 대해서도 공식 문서가 있을까?🙆♀️ Maven 공식 문서의 Guide to naming conventions on groupId, artifactId, and version 부분을 살펴보면, 아래와 같이 설명하고 있다.GroupId설명: 프로젝트를 고유하게 식별하는 ID로, Java의 패키지 네이밍 규칙을 따른다. 배포된 패키지들이 같은 이름을 가질 가능성을 최대한 피하기 위한 조치이다. Maven.. Spring 2024. 9. 21. RedisTemplate 객체 주입 문제 해결하기 진행하던 프로젝트는 공공 데이터 API를 활용해서 국내 시/군/구 데이터와 식당 데이터를 저장하고 사용자 근처 맛집을 추천해 주는 서비스였다. 이때, 시/군/구 데이터는 값이 자주 변경되지 않으므로 캐싱을 시도하다가 아래와 같은 상황이 발생해 문제를 해결한 경험을 작성해보고자 한다.Redis를 사용하여 데이터를 캐싱하려고 RedisTemplate 객체를 사용하던 중, Spring Boot 애플리케이션에서 RedisTemplate 객체를 주입받지 못하는 문제가 생겼다. 시군구 Service 클래스에서 RedisTemplate을 주입받기 위해 다음과 같이 필드를 선언했지만, 애플리케이션 실행 시 RedisTemplate 빈이 주입되지 않았다.private final RedisTemplate> redisTem.. Spring 2024. 9. 12. 이전 1 다음