三、【注解】Spring注解@Lazy

懒加载,只有当使用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
······容器初始化完成······
上一篇:SpringBoot启动会加载大量的自动配置类


下一篇:关于AAB的知识点整理