基于 Spring 的 grails 的主要好处之一是,每次更改一行代码时,您都不需要重新构建和重新运行整个应用程序(这需要几分钟),它只需重新编译该文件并自动- 加载更改。
按照本教程:
https://spring.io/guides/gs/spring-boot/
要运行该应用程序,您必须使用命令行并在 intellij 之外执行此操作:
./gradlew build && java -jar build/libs/gs-spring-boot-0.1.0.jar
如果您更改一行代码,例如在控制器中,您必须终止应用程序,重建它并重新启动它,这需要一段时间。
我在开发工具中遇到了一种叫做自动重启的东西。这是否与自动重新加载更改有关,如果是,它是如何使用的?
如果一个类被更改,我很抱歉 Spring boot 不仅devtools会重新加载已更改的类,而且会自动重新启动整个应用程序。但是根据文档的说法,这种重启应该比正常的冷启动更快:
Spring Boot 提供的重启技术通过使用两个类加载器来工作。不会更改的类(例如,来自第三方 jar 的类)被加载到基类加载器中。您正在积极开发的类将加载到重新启动的类加载器中。当应用程序重新启动时,重新启动的类加载器将被丢弃并创建一个新的类加载器。这种方法意味着应用程序重新启动通常比“冷启动”快得多,因为基类加载器已经可用并已填充。
如果您只需要重新加载已更改的类,您可以考虑使用非免费的 JRebel。
要使用 spring boot devtools,只需包含它的依赖项,然后像往常一样使用 IDE 启动应用程序。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)
它将监视类路径文件夹,然后如果这些文件夹中有任何更改,则重新启动应用程序。
在 Eclipse 的情况下,您需要的是确保 Project ?? 选择自动构建。一旦源代码被更改,Eclipse 就会自动将更改的源代码编译为类路径文件夹中的类,从而触发 devtools重新启动应用程序。
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |