ApplicationContext ctx = new ClassPathXmlApplicationContext(
    "com/springinaction/springidol/spring-idol.xml");
Performer performer = (Performer) ctx.getBean("duke");
performer.perform();

在上面,何时实例化bean,何时创建ApplicationContext或何时调用getBean()?

最佳答案

假设bean是单例的,并且没有配置为延迟初始化的,那么它将在上下文启动时创建。 getBean()只是将其捕获。

延迟初始化Bean仅在首次引用时才会初始化,但这不是默认值。范围限定的Bean(例如,原型(prototype)作用域)也只会在首次引用时创建。

07-26 08:03