专栏名称: 码农小胖哥
技术公众号:码农小胖哥
目录
相关文章推荐
51好读  ›  专栏  ›  码农小胖哥

Spring Boot 2.2 中的延迟加载

码农小胖哥  · 掘金  ·  · 2020-04-01 02:08

正文

阅读 130

Spring Boot 2.2 中的延迟加载

1. 前言

随着我们项目的不断迭代 Bean 的数量会大大增加,如果都在启动时进行初始化会非常耗时。 Spring Boot 允许延迟初始化应用程序, 也就是根据需要初始化 Spring Bean ,而不是在 Spring Boot 启动时创建所有的 Bean 。这样的就可以减少应用程序启动花费的时间。延迟初始化通常又被称为“懒加载”。

2. 延迟初始化

Spring Boot 中的延迟初始化可分为 全局延迟初始化 局部初始化

注意:以下特性在 Spring Boot 2.2.x 中存在

2.1 全局初始化

全局初始化我们可以通过编程的方式来实现,需要我们来改变 Spring Boot Main 方法的写法。

通常我们的 Main 方法是这样的, 注意这里还没声明全局懒加载

/**
 * @author felord.cn
 * @since 2020/3/31 22:53
 */
@SpringBootApplication
public class DemoSpringbootApplication {
    @Lazy
    public static void main(String[] args) {
        SpringApplication.run(DemoSpringbootApplication.class,args);
    }
}
复制代码

全局懒加载写法一:

/**
 * @author felord.cn
 * @since 2020/3/31 22:53
 */
@SpringBootApplication
public class DemoSpringbootApplication {
    @Lazy
    public static void main(String[] args) {
        SpringApplication sa = new SpringApplication(DemoSpringbootApplication.class);

        sa.setLazyInitialization(true);
        sa.run(args);
    }
}
复制代码

全局懒加载写法二:

/**
 * @author felord.cn
 * @since 2020/3/31 22:53
 */
@SpringBootApplication
public class DemoSpringbootApplication {
    @Lazy
    public static void main(String[] args) {
       SpringApplicationBuilder sab = new SpringApplicationBuilder(DemoSpringbootApplication.class);
        
        sab.lazyInitialization(true).run(args);
    }
}
复制代码






请到「今天看啥」查看全文


推荐文章
海蓝博士  ·  亲爱的,你看到了什么?
8 年前
热门视频集汇  ·  回族办喜事
8 年前
Kindle电子书库  ·  满脸苦恨不会笑,只是因为读书少
7 年前
生物通  ·  揭开肝脏脂肪堆积疾病机理
7 年前