私はSpringアプリケーションイベントを使用して他のBeanに情報を送信しています。 Aが初期化されるとすぐにイベントを公開するBean Aがあります。そしてAは、他のBeanの間で初期化された時間に応じて、A.春のイベントがありません
によって送信されたイベントをリッスン豆Bがあり、Bは
方法A.
によって送信されるイベントを後半に初期化し、ミスますそのような問題を回避するために春に意図されていますか? Beanの初期化順序を変更する以外の方法はありますか?私はSpringアプリケーションイベントを使用して他のBeanに情報を送信しています。 Aが初期化されるとすぐにイベントを公開するBean Aがあります。そしてAは、他のBeanの間で初期化された時間に応じて、A.春のイベントがありません
によって送信されたイベントをリッスン豆Bがあり、Bは
方法A.
によって送信されるイベントを後半に初期化し、ミスますそのような問題を回避するために春に意図されていますか? Beanの初期化順序を変更する以外の方法はありますか?一つの可能性の高い方法は
依存-にattribute.Youはあなたが
XML設定を使用している場合には、依存関係を定義することが
使用することです:
<bean id="A" depends-on="B"/>
を
注釈ベース:
@DependsOn("B")
public class A {}
この力バネそれはあなたがあなたの豆でinit()
メソッドを作成し、あなたのmain
機能にinit()
メソッドを呼び出すことができA.
XMLの代わりに、対応する[アノテーション](http:// docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/DependsOn.html)。 –
私はあなたがxml ..の代わりにアノテーションのリンクを言及していると信じています。彼がXMLまたはAnnotationに基づいているなら、OPは言及していない。 – mhasan
はい、完全性のために対応する注釈をリンクしていますので、OPでもどちらかを選択できます。 –
によって公開されたイベントを見逃すことはありませんように、前にBをintializeします各豆の。あなたが好きなように電話を注文することができます。特に、B'sの前にAのinit()
を呼んでください。 それから、ビーンAのイベントをAのinit()
メソッドに公開する必要があります。
http://stackoverflow.com/questions/13770225/spring-3-bean-instantiation-sequence – nowszy94