码迷,mamicode.com
首页 > 其他好文 > 详细

019 使用@Lazy完成懒加载

时间:2018-05-27 00:57:09      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:print   junit   text   int   return   classes   auto   conf   oid   

一 .概述

我们知道单实例Bean在spring的IOC容器之中,单实例Bean会在容器启动之后进行创建.

我们可以使用@Lazy完成懒加载.


 二 .测试

public class Person {
    public Person() {
        System.out.println("Person 正在创建中....");
    }
}
@Configuration
public class LazyConfig {
    
    @Bean
    @Lazy
    public Person person() {
        return new Person();
    }
}

测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes= {LazyConfig.class})
public class LazyTest {
    
    @Autowired
    private ApplicationContext context;
    
    @Test
    public void test() throws Exception {
        System.out.println(context);
        TimeUnit.SECONDS.sleep(3);
        System.out.println(context.getBean("person"));
    }
}

我们创建完IOC容器之后,线程休眠3秒,然后我们从IOC中获取对象,我们发现此时

才真正的创建Bean.

这样就完成了懒加载的功能.

019 使用@Lazy完成懒加载

标签:print   junit   text   int   return   classes   auto   conf   oid   

原文地址:https://www.cnblogs.com/trekxu/p/9094868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!