java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring全局懒加载

Spring全局懒加载的优劣及使用方法详解

作者:项哥

这篇文章主要介绍了Spring全局懒加载的优劣及使用方法详解,Spring 懒加载是一种延迟加载的机制,它允许在需要时才创建和初始化对象,而不是在应用程序启动时就立即加载所有对象,通过懒加载,可以提高应用程序的性能和资源利用率,需要的朋友可以参考下

开启 Spring 全局 bean 懒加载的好处

开启 Spring 全局 bean 懒加载的坏处

Spring 懒加载注意事项

@Component
public class Client {
   private static ServiceA service;
   public class Client(ServiceA service) {
      Client.service = service
   }
   // 当调用 Client.hello()方法时会报错
   public static String hello() {
      return service.hello();
   }
}

开启 Spring 全局 bean 懒加载的方式

方法1.Spring boot 2.2 版本以上,可以设置 spring.main.lazy-initialization=true

方法2. 增加一个配置类 LazyInitBeanFactoryPostProcessor

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
/**
 * 懒加载加快启动速度
 * @author liufang
 */
@Profile(value = {"qa", "dev"})
@Configuration
public class LazyInitBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        for (String beanName : beanFactory.getBeanDefinitionNames()) {
            beanFactory.getBeanDefinition(beanName).setLazyInit(true);
        }
    }
}

到此这篇关于Spring全局懒加载的优劣及使用方法详解的文章就介绍到这了,更多相关Spring全局懒加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文