美文网首页工作生活
SpringBoot_7开发者工具

SpringBoot_7开发者工具

作者: o______o | 来源:发表于2019-07-06 16:18 被阅读0次

    返回目录

    开发者工具


    Spring Boot包含一组额外的工具,可以使应用程序开发体验更加愉快。该spring-boot-devtools模块可以包含在任何项目中,以提供额外的开发时间功能。要包含devtools支持,请将模块依赖项添加到您的构建中
    Maven

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
    

    运行完全打包的应用程序时会自动禁用开发人员工具。如果您的应用程序是从java -jar特殊的类加载器启动或启动的,那么它将被视为“生产应用程序”。如果这不适用于您(即,如果您从容器运行应用程序),请考虑排除devtools或设置-Dspring.devtools.restart.enabled=false系统属性。

    默认属性


    Spring Boot支持使用缓存来提高性能。例如Spring MVC可以在提供静态资源时为响应添加HTTP缓存标头。

    如果您希望记录所有请求详细信息(包括可能的敏感信息),则可以打开 spring.http.log-request-details配置属性。

    如果你不想被应用默认属性可以在application.properties文件中设置spring.devtools.add-propertiesfalse

    自动重启


    spring-boot-devtools只要类路径上的文件发生更改,就会自动重新启动应用程序 在IDE中工作时,这可能是一个有用的功能,因为它为代码更改提供了非常快速的反馈循环。默认情况下,将监视类路径上指向文件夹的任何条目的更改。请注意,某些资源(如静态资源和视图模板)无需重新启动应用程序。

    触发重启


    由于DevTools监视类路径资源,因此触发重新启动的唯一方法是更新类路径。导致更新类路径的方式取决于您使用的IDE。在Eclipse中,保存修改后的文件会导致更新类路径并触发重新启动。在IntelliJ IDEA中,构建项目(Build -> Build Project)具有相同的效果。

    重新启动和冷启动


    Spring Boot提供的重启技术使用两个类加载器。不更改的类(例如,来自第三方jar的类)将加载到基类加载器中。您正在积极开发的类将加载到重启类加载器中。重新启动应用程序时,将重新启动重启类加载器并创建一个新的类加载器。这种方法意味着应用程序重新启动通常比“冷启动”快得多,因为基本类加载器已经可用并已填充。

    更改日志记录


    默认情况下,每次应用程序重新启动时,都会记录一个显示更改记录的报告。该报告显示了在进行更改(例如添加或删除Bean以及设置配置属性)时应用程序自动配置的更改。

    要禁用报告的日志记录,请设置以下属性:
    spring.devtools.restart.log-condition-evaluation-delta=false

    排除资源


    某些资源在更改时不一定需要触发重启。例如,可以直接编辑Thymeleaf模板。默认情况下,在改变资源
    /META-INF/maven/META-INF/resources/resources/static/public,或 /templates不会触发重启但会引发 现场重装。如果要自定义这些排除项,可以使用spring.devtools.restart.exclude属性。例如,要仅排除/static/public您将设置以下属性:
    spring.devtools.restart.exclude=static/**,public/**

    监视其他路径


    当您对不在类路径中的文件进行更改时,您可能希望重新启动或重新加载应用程序。为此,请使用该 spring.devtools.restart.additional-paths属性配置其他路径以监视更改。您可以使用前面描述spring.devtools.restart.exclude属性 来控制其他路径下的更改是触发完全重新启动还是 实时重新加载

    禁用重启


    如果您不想使用重新启动功能,可以使用该spring.devtools.restart.enabled属性将其禁用 。在大多数情况下,您可以在您的application.properties文件中设置此属性(这样做仍会初始化重新启动的类加载器,但它不会监视文件更改)。

    如果需要完全禁用重新启动支持(例如,因为它不能与特定库一起使用),则需要在调用之前将spring.devtools.restart.enabled System 属性设置为,如以下示例所示:

    public static void main(String[] args) {
        System.setProperty("spring.devtools.restart.enabled", "false");
        SpringApplication.run(MyApp.class, args);
    }
    

    LiveReload


    spring-boot-devtools模块包括一个嵌入式LiveReload服务器,可用于在更改资源时触发浏览器刷新。LiveReload扩展程序可从livereload.com获取免费用于Chrome,Firefox和Safari 浏览器。

    如果您不想在应用程序运行时启动LiveReload服务器,则可以将spring.devtools.livereload.enabled属性设置为false

    您一次只能运行一个LiveReload服务器。在启动应用程序之前,请确保没有其他LiveReload服务器正在运行。如果从IDE启动多个应用程序,则只有第一个具有LiveReload支持。

    其他方式


    • 使用触发文件
    • 自定义Restart Classloader
    • 已知限制(重新启动功能不起作用)
    • 全局设置
    • 远程应用程序
    • 运行远程客户端应用程序
    • 远程更新
      以上内容每一项都是一个不常用的知识点
      返回目录

    相关文章

      网友评论

        本文标题:SpringBoot_7开发者工具

        本文链接:https://www.haomeiwen.com/subject/cikmcctx.html