@ComponentScan注解的lazyInit属性
spring应用手册(第二部分)
lazyInit用于通知spring对扫描的类是要延迟初始化。默认是false,就是不延迟。我们可以修改为true测试一下:
修改配置类,将lazyInit修改为true。
/**
* @author 戴着假发的程序员
*
* @description
*/
@Configuration
@ComponentScan(basePackages = "com. st.dk.demo6",lazyInit = true)
public class AppConfig {
}
修改测试类:
@Test
public void testLazyInit(){
ApplicationContext ac =
new AnnotationConfigApplicationContext(AppConfig.class);
System.out.println("容器创建完成");
Bus bean = ac.getBean(Bus.class);
System.out.println("获取bean:"+bean);
}
结果:
我们发现容器创建完成之后,spring并没有实例化任何类,当我们获取Bus类对象时,spring才会实例化Bus类对象。