2012-02-08 5 views
0

私はアプリケーションのコンテキストに20個のBeanを持っていますが、すべてのBeanがロードされた後に特定のBeanをロードします。これには道がありますか?最後にSpring beanをロードする

+2

あなたのユースケースは何ですか?これは奇妙な要件ですが、おそらくより標準的な方法で対処することができます。 – skaffman

答えて

1

depends-onを使用すると、Beanの初期化順序を強制できます。例えば

bean1bean2bean3に依存する場合、あなたが置くことができます:

<bean id="bean1" class="YourBean" depends-on="bean2,bean3"> 

あなたの春のコンテキストで。

0

@skaffmanが言ったように、これは非常に奇妙な要件です。あなただけのSpringコンテキストが初期化されるときにプロセスを開始する必要がある場合は、@PostConstruct注釈付きメソッド(またはInitializingBean)を使用していない

  • :あなたのニーズに応じて、より良い解決策があります。 ApplicationListenerはおそらく必要なものです。

  • @PostConstruct注釈付きメソッドで注入されたいくつかのBeanが必要であると心配している場合、気にしないでください。通常、Springはそのような依存関係を解決するのに十分スマートです。あなたのケースではない場合、多分あなたは複雑すぎる豆のデザインを持っています。

  • これで十分でない場合は、@soulcheckの指示に従うことができます。 This answerは、きれいな設定ファイルを取得するのに役立つでしょう。

これが役に立たない場合は、何を達成しようとしているかについての詳細をお知らせください。

関連する問題