当前位置: 首页 > 知识库问答 >
问题:

最小化Spring Boot启动时间[重复]

胡曾笑
2023-03-14

在我看来,SpringBoot项目需要很长时间来加载。发生这种情况可能是因为SpringBoot正在为您配置组件,其中一些组件您甚至可能不需要。要做的最明显的事情是从您的类路径中移除不必要的依赖项。然而,这还不够。

还有什么可以做的来加快SpringBoot应用程序的启动时间吗?

共有1个答案

曾元忠
2023-03-14

我可以告诉您,我通过Spring MVC、JMS、Atomikos事务、Hibernate、JMX支持和嵌入式Tomcat使用restful webservices运行了一个大型(800,000多行代码)应用程序。所有这些,应用程序将启动在我的本地桌面大约19秒。

Spring Boot尽力不配置您不使用的模块。但是,很容易引入您不想要的附加依赖项和配置。

请记住,Spring Boot遵循convention over configuration范例,只需在类路径中放置一个库,就可以导致Spring Boot尝试配置一个模块来使用该库。此外,通过使用@RestController对类进行注释这样简单的操作,将触发Spring Boot以自动配置整个Spring MVC堆栈。

logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR

如果检测到不想要的自动配置模块,可以禁用它。这方面的文档可以在下面找到:http://docs.spring.io/spring-boot/docs/current-snapshot/reference/htmlsingle/#using-boot-disabling-specific-auto-configuration

示例如下:

@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}
 类似资料:
  • 我的应用程序非常大,例如,在web inf/lib中包含310个JAR,总计100Mb。启动服务器,以下步骤需要13秒: 该应用程序依赖于web片段和注释来正确启动。 我尝试了以下方法来跳过13秒的扫描时间: > 修改<code>conf/context。属性为logEffectiveWebXml=“true”的xml 中提取< code>web.xml片段,将其保存在< code > web a

  • 问题内容: 我在Python 3.4上的Scipy模块中使用了minimum,具体是: 可以设置最大迭代次数(如上所述),但是有没有办法告诉最小化在给定的设置时间之后停止搜索解决方案?我查看了最小化的常规选项以及SLSQP求解器的特定选项,但无法解决。 谢谢 问题答案: 否。您可以做的是在一个单独的进程中启动优化器,跟踪其运行时间并在必要时终止它:

  • 2.LocalDateTime字段上的序列化程序注释 为了确保我有正确的对象映射器设置和必要的依赖关系,我创建了一个rest控制器,将响应模拟为json作为restendpoint返回一个带有日期时间字段的对象,这将正确返回;示例:

  • 时间单位睡眠(长超时)文档这样描述其参数: 超时 - 最小睡眠时间。 但是,我发现 - 至少在Windows 7 64位Java 8更新141上 - 线程的睡眠时间通常低于最低要求: 典型输出: 这似乎与文件相矛盾。然而,TimeUnit文档还声明< code>TimeUnit.sleep()是< code>Thread.sleep的便利包装器,后者没有说明它是否保证至少睡眠指定的时间。 这是 A

  • 本文向大家介绍详解SpringBoot程序启动时执行初始化代码,包括了详解SpringBoot程序启动时执行初始化代码的使用技巧和注意事项,需要的朋友参考一下 因项目集成了Redis缓存部分数据,需要在程序启动时将数据加载到Redis中,即初始化数据到Redis。 在SpringBoot项目下,即在容器初始化完毕后执行我们自己的初始化代码。 第一步:创建实现ApplicationListener接