zoukankan      html  css  js  c++  java
  • 019 使用@Lazy完成懒加载

    一 .概述

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

    我们可以使用@Lazy完成懒加载,这样可以在初次获取Bean的时候才会创建Bean.


     二 .测试

    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.

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

      懒加载,我们一般情况下是不会主动使用的.

  • 相关阅读:
    Angular 11 中 Schematics 的代码优化
    GoEasy使用阿里云OSS出现的问题
    易班模拟登录-Day1笔记
    类型别名与接口
    TypeScript中的数据类型
    Javascript类型系统
    手写Promise3
    手写Promise2
    手写Promise1
    Promise基础用法2
  • 原文地址:https://www.cnblogs.com/trekxu/p/9094868.html
Copyright © 2011-2022 走看看