Java 在Spring Boot和Hibernate等框架中,如何在启动时间较慢的情况下提高生产率?

Java 在Spring Boot和Hibernate等框架中,如何在启动时间较慢的情况下提高生产率?,java,hibernate,spring-boot,tdd,Java,Hibernate,Spring Boot,Tdd,我正在试用Hibernate,注意到我的笔记本电脑的启动时间大约是4500ms 例如,如果您设置了最基本的SpringJPA和WebMVC,那么SpringBoot启动也需要大约7000ms 如果每次代码更改后我都要等待五秒钟,那么开发人员应该如何在Java中进行原型设计或TDD呢 动态语言的启动速度有多快 例如,Python的SQLAlchemy中的一条persist语句需要多长时间 我知道在现实世界中,启动应用程序需要更长的时间,更新或测试是通过CI/CD服务器远程执行的。但我仍处于学习阶段

我正在试用Hibernate,注意到我的笔记本电脑的启动时间大约是4500ms

例如,如果您设置了最基本的SpringJPA和WebMVC,那么SpringBoot启动也需要大约7000ms

如果每次代码更改后我都要等待五秒钟,那么开发人员应该如何在Java中进行原型设计或TDD呢

动态语言的启动速度有多快

例如,Python的SQLAlchemy中的一条persist语句需要多长时间


我知道在现实世界中,启动应用程序需要更长的时间,更新或测试是通过CI/CD服务器远程执行的。但我仍处于学习阶段,目前我希望在代码稍作更改后能够看到我的输出。

我认为您对此有一个误解。TDD的主要焦点是单元测试。当然,TDD是一个很好的概念,但关键是:你需要那些快速的反馈循环

因此,您可以使用它编写单元测试。在小型隔离单元上工作的测试。对除编译类和JUnit/TestNG/之外的任何其他类具有零依赖性的测试。。。其他与测试相关的框架

您编写了一个测试(5,10行代码);您可以编写生产代码(可能不会比这多得多)。运行、编写新测试或修复生产代码


然后,;当你确信你所有的单位都在做他们应该做的事情时;然后,您开始考虑编写“功能”或“集成”测试,这些测试需要整个堆栈启动并运行

为什么会认为动态语言会启动得更快?Java在这方面并不是很好,但我怀疑应该归咎于Spring和Hibernate。或者你有一个机械磁盘驱动器。另外,在TDD方面,如果您需要与DB对话以运行单元测试,那么它们不是单元测试。请查看类似JRebel的内容。@AluanHaddad没有编译时间吗?但是我不知道Java编译需要多长时间,Java编译得很快。除了所有代码最终都必须编译才能运行外,这只是时间的问题。此外,在Spring Boot中有一些方法可以进行热交换: