JAVA
@DependsOn - 빈의 초기화 순서를 지정
멋쟁휘개발자
2023. 4. 20. 21:24
@DependsOn
Spring Framework에서 빈(Bean)의 초기화 순서를 지정하는 데 사용
일반적으로 Spring IoC 컨테이너는 빈들을 생성하고, 초기화를 진행하면서 빈 간에 순서를 정하지 않고 병렬적으로 진행
이때, 특정 빈이 다른 빈에 의존하면서 생성 및 초기화되어야 하는 경우,
@DependsOn 어노테이션을 사용하면 특정 빈이 다른 빈의 생성 및 초기화가 끝난 후에 생성 및 초기화되도록 지정할 수 있음
@Configuration
public class AppConfig {
@Bean(name = "beanA")
public BeanA beanA() {
return new BeanA();
}
@Bean(name = "beanB")
@DependsOn("beanA") // beanA가 먼저 초기화되도록 지정
public BeanB beanB() {
return new BeanB();
}
}
위 코드에서 @DependsOn("beanA") 어노테이션을 사용하여 beanB가 beanA의 초기화가 완료된 후에 초기화되도록 지정
따라서 Spring IoC 컨테이너는 beanA를 먼저 초기화하고, 그 다음에 beanB를 초기화