ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

SpringBoot懒加载

2026/8/17 2:12:10 拓冰建站 浏览量
SpringBoot懒加载

什么是懒加载

懒加载是一种优化技术,它延迟加载或按需加载资源,以减少初始加载时间或提高性能。在不同的上下文中,懒加载有不同的应用和含义。在web开发中,懒加载通常指的是延迟加载图片数据。在长网页或应用中,如果图片很多,所有的图片都被加载出来,而用户只能看到可视窗口的那一部分图片数据,这样就浪费了性能。通过使用图片的懒加载,可以解决这个问题。在滚动屏幕之前,可视化区域之外的图片不会进行加载,而是在滚动屏幕时才加载。这样可以使网页的加载速度更快,减少服务器的负载。

总之,它的作用就是服务需要用到什么的时候才会加载什么,而不是启动的时候就全部加载,懒加载是一种优化技术,旨在提高应用程序的性能和响应速度。它通过延迟加载或按需加载资源来实现这一目标。

SpringBoot应用懒加载

在SpringBoot中配置懒加载还是很简单的,这个问题,SpringBoot已经支持了,只需要使用@Lazy注解来实现

@Lazy注解

在Spring Boot中,你可以使用@Lazy注解来实现懒加载。@Lazy注解用于延迟加载依赖,以便在真正需要的时候才进行初始化。这可以避免在应用程序启动时立即加载所有依赖,从而提高应用程序的启动性能。

要使用@Lazy注解,你需要将其添加到需要懒加载的Bean上。例如,假设你有一个名为"myBean"的Bean,你可以在它的定义上添加@Lazy注解,如下所示:

@Component  
@Lazy  
public class MyBean {  // Bean的代码  
}

例如:现在有TestBeanA和TestBeanB两个类,A类没有添加懒加载,B类添加了这样就是使B类在启动时不被加载

 

 如果启动时调用一下B类,则会进行加载

注意事项

  1. 懒加载的Bean必须被其他Bean引用,否则它不会被初始化。因此,如果你没有在其他地方引用"myBean",那么它永远不会被初始化。
  2. 懒加载的Bean必须是单例Bean。因为懒加载是为了提高应用程序的性能,所以它只会在第一次需要时初始化一次。因此,懒加载的Bean必须是单例Bean,以便在整个应用程序中共享实例。
  3. 懒加载的Bean不能被标记为@Scope("prototype"),因为prototype作用域的Bean会在每次注入时都创建新的实例。这会导致懒加载无法正常工作。
  4. 懒加载的Bean中的依赖注入也必须是懒加载的。如果一个Bean中的依赖不是懒加载的,那么整个Bean都会被立即初始化,而不是延迟初始化。

总结 

懒加载也并不是这一个注解就能囊括的,这是中技术思路.

个人认为懒加载这项技术在开发阶段,尤其是单体项目还是非常有必要的,至于生产,则要按需配置了,并不是所有的Bean都要使用时初始化才好