Spring Boot 教程

工具简介

Spring Boot 包含了一些额外的工具集,用于提升 Spring Boot 应用的开发体验。

spring-boot-devtools 模块可以包含到到任何模块中,以提供开发调试特性,你只需简单的将该模块的依赖添加到 POM 中:

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

在运行一个完整的应用时(正式打包)开发者工具(spring-boot-devtools)会被自动禁用。

如果应用使用 java -jar 或特殊的类加载器启动,都会被认为是一个产品级的应用(production application),从而将禁用开发者工具。

为了防止 spring-boot-devtools 的 jar 被复制到项目中的其他模块,设置该依赖级别为 optional 是个不错的实践。不过Gradle 不支持 optional 依赖(你可以了解 propdeps-plugin 插件)。

如果想确保 spring-boot-devtools 绝对不会包含在一个产品级构建中,你可以使用 excludeDevtools 构建属性彻底移除该 jar,Maven 和 Gradle 都支持该属性。例如:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <fork>true</fork>
        <excludeDevtools>true</excludeDevtools>
    </configuration>
</plugin>

spring boot devtools 默认属性

Spring Boot 支持的一些库可以使用缓存提高性能,比如:Thymeleaf 将缓存模板以避免重复解析 XML 源文件。虽然缓存在生产环境很有用,但开发期间就是个累赘。如果在 IDE 里修改了模板,你可能会想立即看到结果。要实现这个功能,可以通过  spring.thymeleaf.cache 属性取消 Thymeleaf 的缓存功能。

缓存选项通常配置在 application.properties 或 application.yml 文件中。

例如:Thymeleaf 提供了 spring.thymeleaf.cache 属性,spring-boot-devtools 模块会自动应用这些敏感的开发调试配置,而不是手动设置这些属性。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号