Web_Backend/스프링 핵심 원리 - 기본편

    9. 빈 스코프

    9. 빈 스코프9. 빈 스코프핵심 정리핵심 요약:프록시 모드(Proxy Mode)와 동작 원리1. 프록시 모드의 동작 방식2. 프록시 객체의 동작 방식3. 프록시 모드의 장점4. 주의할 점핵심 키워드빈 스코프프로토타입 스코프프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점프로토타입 빈 직접 요청싱글톤 빈에서 프로토타입 빈 사용프로토타입 스코프 - 싱글톤 빈과 함께 사용시 Provider로 문제 해결ObjectFactory, ObjectProviderJSR-330 Provider웹 스코프request 스코프 예제웹 환경 추가request 스코프 예제 개발스코프와 Provider스코프와 프록시웹 스코프와 프록시 동작 원리핵심 정리핵심 요약:빈 스코프의 종류싱글톤: 기본적으로 스프링 컨테이너가 시작될 때부..

    8. 빈 생명주기 콜백

    8. 빈 생명주기 콜백8. 빈 생명주기 콜백핵심 정리핵심 요약:핵심 키워드:스프링 빈의 이벤트 라이프사이클빈 생명주기 콜백인터페이스 InitializingBean, DisposableBean빈 등록 초기화, 소멸 메서드 지정애노테이션 @PostConstruct, @PreDestroy핵심 정리핵심 요약:스프링 빈의 라이프사이클:스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸 전 콜백 -> 스프링종료초기화 콜백은 빈이 생성되고 의존관계 주입이 완료된 후에 실행되며, 소멸 콜백은 빈이 소멸되기 직전에 호출된다.빈 생명주기 콜백 방법:인터페이스 방식: InitializingBean의 afterPropertiesSet()과 DisposableBean의 dest..

    7. 의존관계 자동 주입(Autowiring)

    7. 의존관계 자동 주입(Autowiring)7. 의존관계 자동 주입(Autowiring)핵심 정리핵심 요약:핵심 키워드:의존관계 자동 주입(Autowiring)@Autowired생성자 주입생성자 주입을 선택해야 하는 이유생성자 주입 정리수정자 주입필드 주입일반 메서드 주입옵션 처리롬복과 최신 트렌드롬복 라이브러리 적용 방법주입 대상 빈 상세 설정주입 대상 빈이 2개 이상@Autowired 필드 명, @Qualifier, @Primary@Autowired 필드 명 매칭@Qualifier 사용@Primary 사용@Primary vs @Qualifier애노테이션 직접 만들기조회한 빈이 모두 필요할 때, List, Map자동, 수동의 올바른 실무 운영 기준핵심 정리핵심 요약:의존관계 자동 주입 (Autowir..

    6. 컴포넌트 스캔

    6. 컴포넌트 스캔6. 컴포넌트 스캔핵심 정리핵심 요약:핵심 키워드 설명:컴포넌트 스캔과 의존관계 자동 주입 시작하기컴포넌트 스캔과 자동 의존관계 주입 작동 프로세스탐색 위치와 기본 스캔 대상탐색할 패키지의 시작 위치 지정컴포넌트 스캔 기본 대상필터FilterType 옵션중복 등록과 충돌자동 빈 등록 vs 자동 빈 등록수동 빈 등록 vs 자동 빈 등록핵심 정리핵심 요약:컴포넌트 스캔과 의존관계 자동 주입:컴포넌트 스캔은 클래스에 @Component 애노테이션이 붙은 객체를 자동으로 스프링 빈으로 등록하는 기능이다. 이를 통해 별도의 설정 없이도 빈을 등록할 수 있다.@Autowired는 의존관계를 자동으로 주입하는 애노테이션이다. 스프링이 자동으로 빈을 찾아 주입한다.스프링은 컴포넌트 스캔을 통해 빈을 ..

    5. 싱글톤 컨테이너

    5. 싱글톤 컨테이너5. 싱글톤 컨테이너핵심 정리핵심 요약:핵심 키워드 설명:웹 애플리케이션과 싱글톤싱글톤 패턴싱글톤 컨테이너싱글톤 방식의 주의점@Configuration과 싱글톤@Configuration과 바이트코드 조작의 마법핵심 정리핵심 요약:웹 애플리케이션과 싱글톤:웹 애플리케이션에서 다수의 요청을 처리할 때, 객체를 매번 생성하는 것은 비효율적이며, 메모리 낭비를 초래한다. 이를 해결하기 위해 싱글톤 패턴을 사용한다.싱글톤 패턴은 클래스의 인스턴스가 하나만 생성되도록 보장하며, 생성자를 private으로 제한하여 객체 생성을 통제한다.싱글톤 패턴 코드 예시:public class SingletonService { private static final SingletonService insta..

    4. 스프링 컨테이너와 스프링 빈

    4. 스프링 컨테이너와 스프링 빈4. 스프링 컨테이너와 스프링 빈핵심 정리핵심 요약:핵심 키워드 설명:스프링 컨테이너 생성스프링 컨테이너 생성 과정스프링 빈 조회 - 상속 관계BeanFactory와 ApplicationContextBeanFactoryApplicationContext애노테이션 기반 자바 코드 설정 사용XML 설정 사용스프링 빈 설정 메타 정보 - BeanDefinitionBeanDefinition 살펴보기핵심 정리핵심 요약:스프링 컨테이너 생성:스프링 애플리케이션의 핵심인 ApplicationContext를 생성하며, 스프링 빈의 관리 및 의존성 주입을 담당하는 역할을 한다. 주로 애노테이션 기반 또는 XML 기반 설정으로 구성된다.스프링 컨테이너 생성 코드:java 코드 복사 A..