2017-05-24 1 views
0



例えば、私は私の春の構成にA、B、Cの3つの豆を持っています。そして、いつものように豆BとCを作りたいと思います。そして、(他のすべての豆が作られたとき)より、私は豆Aを作るために春に頼みたい。
何か提案がありますか?

ありがとうございました。他のすべてのBeanの後にSpring Beanを作成するにはどうしたらいいですか?

+0

を初期化するために、リスナーを作成しようとするだろうか?実際の問題を説明する方が良いです。 – StanislavL

+0

@DependsOnの使用はどうですか? https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/DependsOn.html http://www.concretepage.com/spring/example_dependson_spring – RubioRic

+0

類似した質問: https://stackoverflow.com/a/22089047/1934211また、そのような機能を記述しているSpring Jiraを依存することもできます。https://jira.spring.io/browse/SPR-3948 – OutOfMind

答えて

0

SpringフレームワークはContextRefreshedEventをトリガします。

あなたはそのイベントをキャッチし、あなたが達成しようとしているどのような豆A.

@Component 
public class ContextRefreshedEventListener implements 
ApplicationListener<ContextRefreshedEvent> { 

    @Override 
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { 
     // Init your bean here 
    } 
} 
0

あなたは、私はそれは本当に豆の注文答えではないですけど、多分あなたは単にAの後に呼び出されます@PostConstruct方法であなたの目標を達成することができ

<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao"> 
    <property name="manager" ref="manager" /> 
</bean> 

<bean id="manager" class="ManagerBean" /> 
<bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" /> 
+0

担当者、あなたの答えに感謝します。しかし、 "dependsOn"はいくつかの豆でうまく動作します。私が豆をたくさん持っているなら、それは良い解決策ではありません。だから、私は一般的なケースのための解決策を探しています。 – pevgen

0

例えば@DependsOnadnotation

を試してみてくださいBeanが構築され、依存関係が注入され、すべてのプロパティが設定されます。コンテキストが完全にリフレッシュされていて、すべての設定された豆が作成された後

最高のNAS

関連する問題