Spring (38) 썸네일형 리스트형 [Spring] 빈 스코프 3) 웹 스코프 목차 빈 스코프 - 빈 스코프란? 빈 스코프 - 프로토타입 스코프 빈 스코프 - 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점 빈 스코프 - 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 Provider로 문제 해결 빈 스코프 - 웹 스코프 빈 스코프 - request 스코프 예제 만들기 빈 스코프 - 스코프와 Provider 빈 스코프 - 스코프와 프록시 싱글톤 스코프 싱글톤은 스프링 컨테이너의 시작과 끝까지 함께하는 매우 긴 스코프이고, 프로토타입은 생성과 의존관계 주입, 초기화까지 진행하는 특별한 스코프이다. 웹 스코프 웹 스코프의 특징 웹 스코프는 웹 환경에서만 동작한다. 웹 스코프는 프로토타입과 다르게 스프링이 해당 스코프의 종료시점까지 관리한다. 따라서 종료 메서드가 호출된다. 웹 스코.. [Spring] 빈 스코프 2) 프로토타입 스코프 목차 빈 스코프 - 빈 스코프란? 빈 스코프 - 프로토타입 스코프 빈 스코프 - 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점 빈 스코프 - 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 Provider로 문제 해결 빈 스코프 - 웹 스코프 빈 스코프 - request 스코프 예제 만들기 빈 스코프 - 스코프와 Provider 빈 스코프 - 스코프와 프록시 프로토타입 스코프 싱글톤 스코프의 빈을 조회하면 스프링 컨테이너는 "항상 같은 하나"의 인스턴스의 스프링 빈을 반환한다. 반면에, 프로토타입 스코프를 스프링 컨테이너에 조회하면 스프링 컨테이너는 항상 새로운 인스턴스를 생성하여 반환한다. 싱글톤 빈의 요청 vs 프로토타입 빈의 요청 프로토타입 스코프의 빈을 스프링 컨테이너에 요청 요청을 받으면,.. [Spring] 의존관계 자동 주입 3) List & Map 목차 의존관계 자동 주입 - 다양한 의존관계 주입 방법 의존관계 자동 주입 - 옵션 처리 의존관계 자동 주입 - 생성자 주입을 선택해라! 의존관계 자동 주입 - 롬복과 최신 트랜드 (생성자 주입을 편리하게 사용하기) 의존관계자동주입 - 조회빈이2개이상-문제 의존관계 자동 주입 - @Autowired 필드 명, @Qualifier, @Primary 의존관계 자동 주입 - 애노테이션 직접 만들기 의존관계 자동 주입 - 조회한 빈이 모두 필요할 때, List, Map 의존관계 자동 주입 - 자동, 수동의 올바른 실무 운영 기준 List & Map 조회한 빈이 모두 필요한 경우가 있다. 이런 경우는 List Map 을 이용해서 해결한다 의도적으로 해당 타입의 스프링 빈이 다 필요한 경우가 있다. 예를 들어 할인.. [Spring] 의존관계 자동 주입 2) 조회 빈이 2개 이상 목차 의존관계 자동 주입 - 다양한 의존관계 주입 방법 의존관계 자동 주입 - 옵션 처리 의존관계 자동 주입 - 생성자 주입을 선택해라! 의존관계 자동 주입 - 롬복과 최신 트랜드 (생성자 주입을 편리하게 사용하기) 의존관계자동주입 - 조회빈이2개이상-문제 의존관계 자동 주입 - @Autowired 필드 명, @Qualifier, @Primary 의존관계 자동 주입 - 애노테이션 직접 만들기 의존관계 자동 주입 - 조회한 빈이 모두 필요할 때, List, Map 의존관계 자동 주입 - 자동, 수동의 올바른 실무 운영 기준 조회 빈이 2개 이상인 경우 조회 빈이 2개 이상인 경우 오류가 발생한다. 일단 해당 상황을 재현해보자. 문제 현재 OrderServiceImpl는 MemberRepository(인터페.. [Spring] 의존관계 자동 주입 1) 의존 주입 방법 목차 의존관계 자동 주입 - 다양한 의존관계 주입 방법 의존관계 자동 주입 - 옵션 처리 의존관계 자동 주입 - 생성자 주입을 선택해라! 의존관계 자동 주입 - 롬복과 최신 트랜드 (생성자 주입을 편리하게 사용하기) 의존관계자동주입- 조회빈이2개이상-문제 의존관계 자동 주입 - @Autowired 필드 명, @Qualifier, @Primary 의존관계 자동 주입 - 애노테이션 직접 만들기 의존관계 자동 주입 - 조회한 빈이 모두 필요할 때, List, Map 의존관계 자동 주입 - 자동, 수동의 올바른 실무 운영 기준 다양한 의존관계 주입 방법 의존관계 주입 방법 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 생성자 주입 생성자를 통해서 의존 관계를 주입 받는 방법 특징 생성.. [Spring] 컴포넌트 스캔 2) 기타 사항 목차 컴포넌트 스캔 - 컴포넌트 스캔과 의존관계 자동 주입 시작하기 컴포넌트 스캔 - 탐색 위치와 기본 스캔 대상 컴포넌트 스캔 - 필터 컴포넌트 스캔 - 중복 등록과 충돌 필터 includeFilters : 컴포넌트 스캔 대상을 추가로 지정. excludeFilters : 컴포넌트 스캔에서 제외할 대상을 지정 (나름 사용됨) 두가지를 사용한 예제를 만들어 보자. scan하위에 filter패키지를 생성한다. 먼저, annotation처럼 사용할 인터페이스들을 생성한다. MyExcludeComponent(인터페이스) package hello.core.scan.filter; import java.lang.annotation.*; @Target(ElementType.TYPE) @Retention(Retenti.. [Spring] 컴포넌트 스캔 1) 컴포넌트 스캔과 의존관계 주입 목차 컴포넌트 스캔 - 컴포넌트 스캔과 의존관계 자동 주입 시작하기 컴포넌트 스캔 - 탐색 위치와 기본 스캔 대상 컴포넌트 스캔 - 필터 컴포넌트 스캔 - 중복 등록과 충돌 의존 관계 자동 주입 지금까지는 @Bean이나 을 이용해 설정 정보(appConfig)에 직접 등록할 스프링 빈을 작성했다. 빈의 수가 많아지면, 등록하기도 귀찮고, 많고, 누락문제가 발생한다. 그래서 스프링은 다음과 같은 기능을 제공한다. 컴포넌트 스캔 : 스프링 설정 정보 없이 자동으로 스프링 빈을 등록해주는 기능 자동 의존관계 주입(@Autowired) : 의존관계(DI)를 자동으로 주입 즉, 컴포넌트 스캔이란, AppConfig에 @Bean으로 등록하지 않아도, 자동으로 스프링 빈으로 등록되게 해주는 방법이며, 자동 의존관계 .. [Spring] 싱글톤 컨테이너 3) @Configuration 목차 싱글톤 컨테이너 - 웹 애플리케이션과 싱글톤 싱글톤 컨테이너 - 싱글톤 패턴 (디자인패턴에서의..) 싱글톤 컨테이너 - 싱글톤 컨테이너 -> 스프링 컨테이너가 자동으로 싱글톤 패턴을 적용해줌 싱글톤 컨테이너 - 싱글톤 방식의 주의점 싱글톤 컨테이너 - @Configuration과 싱글톤 싱글톤 컨테이너 - @Configuration과 바이트코드 조작의 마법 Configuration과 싱글톤 memberSerivce()와 orderService()가 모두 호출된 상황을 떠올리자. 그림과 같이 2번 memberRepository()가 호출되며 new MemoryMemberRepository()가 실행되는 것으로 보인다. 그렇다면, singleton이 위반되는 것이 아닌가? (객체가 2번생성됨) 실제로 .. 이전 1 2 3 4 5 다음