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