019 使用@Lazy完成懶加載
阿新 • • 發佈:2018-05-27
ont contex ioc cond 懶加載 加載 容器 線程 啟動
一 .概述
我們知道單實例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完成懶加載