SpringBoot-9-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打包与运行、临时属性设置以及热部署的实现与控制。热部署功能在开发阶段尤为重要,可极大提升开发效率;而在线上环境中,应禁用以节约资源。
想要了解更多内容?



白皮书上线