의존성 주입 (Dependency Injection)
이 생성자에 주입하는 패턴을 생성자 주입패턴(DI) 라고 한다.
@Configuration
public class ExampleConfig {
@Bean
public A a(B b) {
return new A(b);
}
}
의존관계를 주입할 때 참조 순환 관계(Circular dependencies) 에 대해 유의하자.
@Configuration
public class CircularConfig {
@Bean
public A a(B b) {
return new A(b);
}
@Bean
public B b(A a) {
return new B(a);
}
}
관련 어노테이션
@ComponentScan
@Autowired
@Primary
@Qualifier
var voucherRepository = BeanFactoryAnnotationUtils.qualifiedBeanOfType(
applicationContext.getBeanFactory(),
VoucherRepository.class,
"memory");
Bean Scope
Scope 변경 하는 법
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
Bean이 생성되기 전에 실행하는 메서드
InitializingBean
implementsBean이 사라지기 전에 실행하는 메서드
DisposableBean
Implements컴포넌트 스캔과 의존성 주입