懒加载,只有当使用Bean的时候才会被实例化。
@Configuration
public class PersonConfig {
/**
* 懒加载主要用在单例模式上
* 标注了懒加载注解,容器初始化过程中不会实例化Bean
* 只有当使用的时候才会实例化Bean,且只会实例化一次
*/
@Lazy
@Bean
public Person person() {
return new Person("张三", 13);
}
}
测试 :
public class MainTest {
@Test
public void m1() {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(PersonConfig.class);
Person person1 = applicationContext.getBean(Person.class);
Person person2 = applicationContext.getBean(Person.class);
System.out.println(person1 == person2);
System.out.println("······容器初始化完成······");
}
}
测试结果:
true
······容器初始化完成······