본문 바로가기
반응형

Spring Framework9

[Spring Core] Bean Scope(빈 스코프)와 Bean의 LifeCycle(빈의 생명주기) Bean Scope DI 컨테이너는 빈 간의 의존 관계를 관리할 뿐만 아니라 빈의 생존 기간도 관리한다. 빈의 생존 기간을 빈 스코프(Bean Scope)라고 하는데 개발자가 직접 빈의 스코프를 다루지 않아도 된다는 점은 DI 컨테이너를 사용하는 큰 이유이기도 하다. DI 컨테이너가 관리하는 빈은 기본적으로 싱글턴으로 만들어진다. 스프링 프레임워크에서 사용 가능한 스코프의 종류는 다음과 같다. 이 중에는 웹 환경에서만 사용 가능한 것도 있다. 스프링 프레임워크에서 사용 가능한 스코프 스코프 설명 singleton DI 컨테이너를 기동할 때 빈 인스턴스 하나가 만들어지고, 이후부터는 그 인스턴스를 공유하는 방식이다. 기본 스코프이기 때문에 별도로 스코프를 지정하지 않았다면 singleton으로 간주한다. .. 2021. 4. 5.
[Spring Core] Component Scan (@ComponentScan) 컴포넌트 스캔 컴포넌트 스캔(Component Scan)은 클래스 로더(Class Loader)를 스캔하면서 특정 클래스를 찾은 다음, DI 컨테이너에 등록하는 방법을 말한다. [기본 설정으로 컴포넌트 스캔하기] 스캔 대상 애너테이션 별도의 설정이 없는 기본 설정에서는 다음과 같은 애너테이션이 붙은 클래스가 탐색 대상이 되고, 탐색된 컴포넌트는 DI 컨테이너에 등록된다. @Component (org.springframework.stereotype.Component) @Controller (org.springframework.stereotype.Controller) @Service (org.springframework.stereotype.Service) @Repository (org.springframew.. 2021. 4. 5.
[Spring Core] Autowiring (@Autowired, @Qualifier, @Primary, @Resource) Autowiring Autowiring은 자바 기반 설정 방식에서 @Bean 메서드를 사용하거나 XML 기반 설정 방식에서 요소를 사용하는 것처럼 명시적으로 빈을 정의하지 않고도 DI 컨테이너에 빈을 자동으로 주입하는 방식이다. Autowiring에는 타입을 이용한 방식(autowiring by type)과 이름을 사용한 방식(autowiring by name)이 있다. 이제 이 두 방식에 대해 알아보자. [타입으로 Autowiring하기] 타입으로 Autowiring하는 방식은 세터 인젝션, 컨스트럭터 인젝션, 필드 인젝션의 세 가지 의존성 주입 방법에서 모두 활용할 수 있다. 타입으로 Autowiring 할 때는 기본적으로 의존성 주입이 반드시 성공한다고 가정한다. 그래서 주입할 타입에 해당하는 빈을.. 2021. 4. 3.
[Spring Core] Spring DI의 세 가지 방식(setter injection, constructor injection, field injection) 의존성 주입 다음은 의존성 주입에 대해서 알아보자. 총 세 가지 의존성 주입 방법을 사용할 수 있다. 설정자 기반 의존성 주입 방식(setter-based dependency injection) 생성자 기반 의존성 주입 방식(constructor-based dependency injection) 필드 기반 의존성 주입 방식(field-based injection) [설정자 기반 의존성 주입 방식] 설정자 기반의 의존성 주입 방식은 설정자 메서드의 인수를 통해 의존성을 주입하는 방식이다. 편의상 설정자 기반 의존성 주입 방식을 세터 인젝션이라고 부르자. UserServiceImpl에 설정자 메서드 구현 public class UserServiceImpl implements UserService { priv.. 2021. 4. 3.
반응형