2017-03-08 16 views
2

両方でアノテートされた場合、私は、このメソッドの振る舞いは、春のコンテナにどのよう春の挙動Javaメソッドが@Beanと@PostConstruct

@Configuration 
public class SampleContext { 

    @Bean 
    @PostConstruct 
    public SampleClass sampleMethod() { 

    } 
} 

次のクラスがありますか? sampleMethod()は、スプリングライフサイクルのどのフェーズで呼び出されますか?すべてのBean定義がロードされ、Beanインスタンスが作成されると、ライフサイクルフェーズでPostConstructの間に呼び出されますか?その場合は、@Beanアノテーションのスプリングスキャン中にメソッドが再度呼び出されますか?

更新:

私はsampleMethodメソッドからSampleClass Beanを初期化するために使用していますSampleContextに存在するいくつかのプロパティを持っています。私がpostConstructを使用せずに@Beanだけを使用すると、SampleContextが初期化される前にsampleMethod()が呼び出されているように見えます。

+1

試しましたか? – chrylis

+0

これはうまくいくようですが、何が起こっているのか知りたいです – yaswanth

答えて

0

おそらく、このメソッドは、Beanをインスタンス化している間に一度呼び出され、その後、構築後フェーズでもう一度呼び出されます。

関連する問題