扫码阅读
手机扫码阅读

SpringBoot-9-Spring Boot进阶篇:实现配置修改热部署,提升开发效率

435 2024-07-17

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:SpringBoot-9-Spring Boot进阶篇:实现配置修改热部署,提升开发效率
文章来源:
springboot葵花宝典
扫码关注公众号
Spring Boot进阶篇:实现配置修改热部署摘要

Spring Boot进阶篇:实现配置修改热部署,提升开发效率

目标

本文旨在帮助开发者掌握Spring Boot正确的打包方式、临时配置的使用,以及实现热部署以提升开发效率。

1. Spring Boot程序打包和运行

Spring Boot项目基于Maven构建,可使用命令行或IDEA工具执行 mvn package 命令生成jar包。确保使用 spring-boot-maven-plugin 打包依赖。

运行jar包需使用 java -jar 工程包名.jar 命令。打包后的jar包含Spring框架功能、工程内容及依赖库,且根据 MANIFEST.MF 文件中的配置启动。

2. Spring Boot高级配置

2.1 临时属性设置

通过命令行参数 -- 或虚拟机参数 -D 可快速调整运行时配置。例如:

  • java -jar 工程包名.jar --server.port=80
  • java -Dserver.port=80 -jar 工程包名.jar

命令行参数优先级高于虚拟机参数。同样,临时属性可在IDEA中通过配置界面进行测试。

2.2 IDEA中使用临时属性

开发者可通过代码访问虚拟机参数(System.getProperty())或命令行参数(environment.getProperty())以实现动态配置。

3. 热部署

通过热部署功能,开发者可快速加载程序修改内容而无需重新启动整个应用。

3.1 手动启动热部署

通过引入 spring-boot-devtools 依赖,并使用快捷键 Ctrl+F9 可手动触发热部署。热部署基于两类加载器:base类加载器(加载不变的jar包信息)与 restart类加载器(加载开发者内容)。

3.2 自动启动热部署

可在IDEA中启用自动构建项目(Build project automatically)以及允许运行时自动构建(通过快捷键 Ctrl+Alt+Shift+/ 修改设置),实现自动热部署。注意,构建频率由IDEA工具切换焦点时触发。

3.3 热部署文件范围配置

默认情况下,某些目录中的文件不参与热部署。开发者可在 application.yml 文件中自定义排除的目录。例如:

spring:
  devtools:
    restart:
      exclude: static/**,public/**
            

3.4 关闭热部署

线上环境运行时应禁用热部署功能以节约资源,可通过配置文件或代码设置禁用。例如:

spring:
  devtools:
    restart:
      enabled: false
            

或者通过系统属性在启动时禁用热部署功能。

总结

本文讲解了Spring Boot打包与运行、临时属性设置以及热部署的实现与控制。热部署功能在开发阶段尤为重要,可极大提升开发效率;而在线上环境中,应禁用以节约资源。

想要了解更多内容?

查看原文:SpringBoot-9-Spring Boot进阶篇:实现配置修改热部署,提升开发效率
文章来源:
springboot葵花宝典
扫码关注公众号

主要分享JAVA技术,主要包含SpringBoot、SpingCloud、Docker、中间件等技术,以及Github开源项目

266 篇文章
浏览 89.1K
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线