💻Development
-
[Spring] Spring MVC - 구조 이해 및 기본 기능Study/Spring 2025. 4. 19. 15:44
프론트 컨트롤러프론트 컨트롤러 패턴 특징프론트 컨트롤러를 담당하는 서블릿 하나로 클라이언트의 모든 요청을 받음요청이 들어오는 입구를 하나로 만들어 공통 처리 가능함프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출함프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨HttpServletRequest, HttpServletResponse 등 서블릿과 관련된 코드를 사용하지 않아도 된다는 의미프론트 컨트롤러에서 호출하기 때문Spring Web MVC와 프론트 컨트롤러스프링 웹 MVC의 핵심도 바로 ‘프론트 컨트롤러’스프링 웹 MVC의 ‘DispatcherServlet’이 프론트 컨트롤러 역할을 수행하는 것 스프링 MVC 전체 구조1) Dispatcher Servlet 구조 살펴보기`org..
-
[Spring] Spring MVC - 서블릿Study/Spring 2025. 4. 17. 20:56
서블릿HTTP 요청을 수신하고 데이터를 응답하는 역할 수행 (HTTP 요청/응답을 위한 처리를 대신 수행하는 것)특징urlPatterns의 URL이 호출되면 서블릿 코드가 실행HttpServletRequest, HttpServletResponse 생성 HTTP 요청, 응답 흐름HTTP 요청 시 WAS는 Request와 Response 객체를 새로 만들어서 서블릿 컨테이너 내 서블릿 객체를 호출함개발자는 Request 객체에서 HTTP 요청 정보를 꺼내서 사용개발자는 Response 객체에 HTTP 응답 정보를 편리하게 입력WAS는 Response 객체에 담겨있는 내용으로 HTTP 응답 정보를 생성함 서블릿 컨테이너서블릿 컨테이너 덕분에 서블릿 객체 생성 및 관리를 개발자가 수행하지 않아도 됨Tomcat ..
-
[Spring] 스프링 핵심 원리 - 빈 스코프Study/Spring 2025. 4. 17. 01:14
빈 스코프란?스코프는 ‘빈이 존재할 수 있는 범위’를 뜻함스프링은 다음과 같은 다양한 스코프를 지원함싱글톤 : 기본 스코프스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프프로토타입스프링 컨테이너는 프로토타입 빈의 생성, 의존관계 주입, 초기화 콜백까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프웹 관련 스코프request : 웹 요청이 들어오고 나갈 때까지 유지되는 스코프session : 웹 세션이 생성되고 종료될 때까지 유지되는 스코프application : 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 프로토타입 스코프프로토타입 스코프의 빈을 스프링 컨테이너에서 조회하면 항상 새로운 인스턴스를 생성해서 반환함특징핵심은 스프링 컨테이너는 프로토타입 빈을 생성하고, 의존..
-
[Spring] 스프링 핵심 원리 - 빈 생명주기 콜백Study/Spring 2025. 4. 16. 22:04
빈 생명주기 콜백 시작DB 커넥션 풀이나, 네트워크 소켓처럼 어플리케이션 시작 시점에 필요한 연결을 미리 해두고, 어플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요함객체 초기화스프링 빈은 객체를 생성하고, 의존관계 주입이 끝난 후 필요한 데이터를 사용할 수 있는 준비가 완료됨따라서 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야 함스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려주는 다양한 기능을 제공함객체 종료스프링은 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 제공함 참고) 객체의 생성과 초기화를 분리하자!생성자는 필수 정보(파라미터)를 받고, 메모리를 할당해서 객체를 생성하는 책임을 가짐반면 ..