본문 바로가기

Spring

(5)
[Spring] 빈 생명주기 콜백 [김영한] 스프링 핵심 원리 - 기본편 Section 9. 빈 생명주기 콜백 01. 빈 생명주기 콜백 시작데이터베이스 커넥션 풀(DBCP)이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다.이번에는 스프링을 통해 초기화 작업과 종료 작업을 어떻게 진행하는지 알아보자간단하게 외부 네트워크에 미리 연결하는 객체를 하나 생성한다고 가정(단순히 문자를 출려하는 예제)NetworkClient 클래스는 애플리케이션 시작 시점에 connect( ) 를 호출해서 미리 연결을 맺어야하고, 애플리케이션이 종료되면 disConnect( ) 를 호출해서 연결을 끊어야 한다.NetworkClient..
[Spring] 의존관계 자동 주입 [김영한] 스프링 핵심 원리 - 기본편 Section 8. 의존관계 자동 주입 01 다양한 의존관계 주입 방법 1. 다양한 의존관계 주입 방법(4가지)생성자 주입수정자 주입(setter 주입)필드 주입일반 메서드 주입 생성자 주입생성자를 통해서 의존 관계를 주입 받는 방법여태껏 진행했던 방법특징생성자 호출 시점에 딱 1번만 호출되는 것이 보장된다."불편, 필수" 의존관계에 사용불변: 생성자를 통해서만 의존관계가 주입되고, 이후 외부에서 수정할 수 없다. (setter 등을 안만들면 됨..)필수: 무조건 값이 있어야 한다.@Componentpublic class OrderServiceImpl implements OrderService { // dip : 어떤 것을 참조할지 구체적인 정보 x pr..
[Spring] 컴포넌트 스캔 [김영한] 스프링 핵심 원리 - 기본편 Section 7. 컴포넌트 스캔 01 컴포넌트 스캔과 의존관계 자동 주입 시작하기지금까지 스프링이 빈을 등록할 때 자바의 @Bean이나 XML의 등을 통해서 설정 정보에서 직접 등록할 스프링 빈을 나열이러면 설정 정보도 커지고, 누락하는 문제가 발생그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔 기능 제공또 의존관계를 자동으로 주입하는 @Autowired 기능 제공package hello.core;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Condition;import org.sprin..
[Spring] 싱글톤 컨테이너 [김영한] 스프링 핵심 원리 - 기본편 Section 6. 싱글톤 컨테이너 강의 정리01 웹 애플리케이션과 싱글톤스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생대부분의 스프링 애플리케이션은 웹 애플리케이션이다. (웹이 아닌 다른 개발도 가능)웹 애플리케이션은 보통 여러 고객이 동시에 요청클라이언트의 요청마다 객체가 생성됨 (new) - 문제package hello.core.singleton;import hello.core.AppConfig;import hello.core.member.MemberService;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.a..
[Spring] Dispatcher Servlet 동작 과정 Spring MVC의 동작 방식, 그 중 DispatcherServlet의 요청 처리 과정 클라이언트 요청 (HTTP 요청)사용자가 웹 브라우저 또는 API 클라이언트에서 HTTP 요청을 보낸다.클라이언트의 HTTP 요청이 DispatcherServlet으로 전달핸들러 조회 (Handler Mapping)DispatcherServlet은 요청 URL에 해당하는 컨트롤러(핸들러)를 찾기 위해 Handler Mapping을 조회한다.Handler Mapping은 요청 URL을 처리할 수 있는 적절한 컨트롤러를 매핑하는 역할을 한다.어떤 컨트롤러가 요청을 처리할지 찾아서 알려주는 역할을 한다.핸들러 어댑터 조회Handler Mapping을 통해 찾은 컨트롤러(핸들러)를 실행하기위한 적절한 핸들러 어댑터가 필요..