05-组件注册-@Lazy-bean懒加载

上次说到,@Scope("singleton")或者不写默认是单实例方式,ioc容器启动时,会调用方法创建对象放到ioc容器中。

但是可以使用懒加载方式,让ioc容器启动时,不创建对象,在第一次使用时,再去创建对象放到ioc容器,只需要添加@Lazy

ok,我们看代码。

 @Lazy
    @Bean
    public Person person(){
        System.out.println("给容器中添加Person....");
        return new Person("zhangsan",24);
    }

调用测试方法

 @Test
    public void test02(){
        AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(MainConfig2.class);
        System.out.println("ioc容器创建完成....");

        Object person = annotationConfigApplicationContext.getBean("person");
        Object person2 = annotationConfigApplicationContext.getBean("person");
        System.out.println(person==person2);
    }

测试结果为:

ioc容器创建完成....
给容器中添加Person....
true

可以看到,ioc容器创建完成后,并没有创建对象,而是在第一次使用时才添加对象到容器中,并且每次获取到的对象都是一个对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值