Spring Bean がインスタンス化されるのはいつですか? 質問する

Spring Bean がインスタンス化されるのはいつですか? 質問する
ApplicationContext ctx = new ClassPathXmlApplicationContext(
    "com/springinaction/springidol/spring-idol.xml");
Performer performer = (Performer) ctx.getBean("duke");
performer.perform();

上記では、Bean がインスタンス化されるのはいつですか。ApplicationContext が作成されたときですか、それとも getBean() が呼び出されたときですか。

ベストアンサー1

Bean がシングルトンであり、遅延初期化用に構成されていないと仮定すると、コンテキストの起動時に作成されます。getBean()単にそれを取り出します。

Lazy-init Bean は最初に参照されたときにのみ初期化されますが、これはデフォルトではありません。スコープ付き Bean (例: prototype-scoped) も、最初に参照されたときにのみ作成されます。

おすすめ記事