インターフェイスを実装する複数の Bean がある場合ApplicationListener<ContextRefreshedEvent>、特定の Bean が他の Bean の前に呼び出されるように制御するにはどうすればよいですか?
Bean 自体の内部で依存関係を処理する方が理にかなっていますか?
Ordered インターフェースを実装して、この順序を指定できます。このブログ投稿を参照してください。
では、実装された BeanAbstractApplicationContextの登録を処理する次のスニペットを見ることができました。ApplicationListener
Collection listeners = getBeansOfType(ApplicationListener.class, true, false).values();
for (Iterator it = listeners.iterator(); it.hasNext();) {
addListener((ApplicationListener) it.next());
}
ここgetBeansOfTypeで返されることが判明したMapため、順序付けは非決定論的です。の場合はこのように動作しspring-2.0ます。