서버가 시동되면 방금 전 빈이 실행됩니다. CacheSingletonBean은 MyLoggingBean 초기화에 의존하므로 실행이 보류되고 로그에는 이렇게 나오겠지요.
> 음, 내가 먼저 시작합니다!!! > 시작합니다!
의존하는 빈이 많으면 @DependsOn에 빈을 여럿 지정하면 됩니다. 아래 싱글톤 빈은 MyLoggingBean, MyInitializationBean 모두에 의존합니다.
@Startup @DependsOn({"MyLoggingBean","MyInitializationBean"}) @Singleton public class CacheSingletonBean { // 구현 코드 }
MyLoggingBean과 MyInitializationBean의 초기화 순서는 각자의 @DependsOn에 따라 결정됩니다. 서로 의존 관계가 없으면 컨테이너가 임의의 순서로 빈을 초기화합니다.