Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring循环依赖关系是否会延迟应用程序启动时间?_Spring_Circular Dependency - Fatal编程技术网

Spring循环依赖关系是否会延迟应用程序启动时间?

Spring循环依赖关系是否会延迟应用程序启动时间?,spring,circular-dependency,Spring,Circular Dependency,我有一个单片SpringMVC应用程序,由大约1000个bean组成,启动大约需要两分钟。 现在我正在研究它为什么启动太慢。我添加了一个BeanFactoryPostProcessor来记录启动时间,并使用ApplicationListener来侦听ContextRefreshedEvent并记录ApplicationContext刷新的时间。然后,结果显示应用程序大约需要80秒才能完成初始化ApplicationContext。 查看代码后,我发现代码中有两个多循环依赖项 我想知道是不是循环依

我有一个单片SpringMVC应用程序,由大约1000个bean组成,启动大约需要两分钟。 现在我正在研究它为什么启动太慢。我添加了一个
BeanFactoryPostProcessor
来记录启动时间,并使用
ApplicationListener
来侦听
ContextRefreshedEvent
并记录ApplicationContext刷新的时间。然后,结果显示应用程序大约需要80秒才能完成初始化
ApplicationContext
。 查看代码后,我发现代码中有两个多循环依赖项

我想知道是不是循环依赖关系导致了
ApplicationContext
启动太慢?我能做些什么来加快启动时间

我尝试过的方法包括:

  • 检查
    @PostConstruct
    以确定它是否异步
  • 调整-Xmx和-Xms选项
  • 将lazyint添加到bean中
似乎不起作用


任何帮助都将不胜感激。

我假设您正在使用Spring Boot,然后隐式使用注释组件扫描。因此,Spring将扫描每个类以创建Bean。可能的解决方案是使用@ComponentScan(“packageToScan”)而不是@ComponentScan


但是,我不知道您的目标,但我认为您是否真的需要加快启动速度。

我假设您使用的是Spring Boot,然后隐式使用注释组件扫描。因此,Spring将扫描每个类以创建Bean。可能的解决方案是使用@ComponentScan(“packageToScan”)而不是@ComponentScan


然而,我不知道你的目标,但我认为你是否真的需要加快创业速度。

不完全如此。我正在使用Spring MVC,我已经定义了
packageToScan
。让我困惑的是Spring中的循环依赖是否会减慢启动时间。不完全是这样。我使用的是Spring MVC,我已经定义了
packageToScan
。让我困惑的是Spring中的循环依赖是否会减慢启动时间。