ContextInitializerPhase.java
package sprout.context.lifecycle;
import sprout.context.BeanFactory;
import sprout.context.ContextInitializer;
import java.util.List;
/**
* ContextInitializer 실행 단계
* 모든 빈이 생성된 후 최종 초기화 작업 수행
*/
public class ContextInitializerPhase implements BeanLifecyclePhase {
@Override
public String getName() {
return "ContextInitializer Execution";
}
@Override
public int getOrder() {
return 400;
}
@Override
public void execute(PhaseContext context) {
BeanFactory beanFactory = context.getBeanFactory();
// 모든 ContextInitializer를 찾아서 실행
List<ContextInitializer> contextInitializers = beanFactory.getAllBeans(ContextInitializer.class);
for (ContextInitializer initializer : contextInitializers) {
initializer.initializeAfterRefresh(beanFactory);
}
}
}