application.yml开发环境热部署
时间: 2025-01-25 10:34:01 浏览: 37
### 实现Spring Boot `application.yml` 文件的热部署
为了使应用程序能够在开发过程中自动重新加载配置文件更改,可以启用 Spring Boot 的开发者工具 (DevTools),这允许在不重启服务器的情况下应用某些类型的变更。
#### 启用 DevTools
首先,在项目的依赖管理文件(通常是 `pom.xml` 或者 `build.gradle`)中加入 spring-boot-devtools 依赖项[^2]:
对于 Maven 用户来说:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
```
而对于 Gradle 用户,则应添加如下内容到 build 脚本里:
```groovy
implementation 'org.springframework.boot:spring-boot-devtools'
```
当引入此模块之后,默认情况下它会监视类路径下的资源变化并触发重启逻辑。然而,如果希望更细粒度地控制哪些特定条件应该引起重启行为的话,可以通过设置属性来调整其工作方式。
#### 配置 application.properties 或 application.yml
为了让修改后的 `.yml` 文件生效而无需手动停止再启动服务端口监听进程,可以在项目根目录下创建名为 `application.properties` 的文件,并在里面指定以下参数以激活自动刷新特性[^1]:
```properties
spring.devtools.restart.enabled=true
spring.application.name=demo-app
server.port=8080
management.endpoints.web.exposure.include=*
management.endpoint.shutdown.enabled=true
```
或者直接编辑现有的 `application.yml` 来达到相同的效果:
```yaml
spring:
devtools:
restart:
enabled: true
application:
name: demo-app
server:
port: 8080
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
shutdown:
enabled: true
```
请注意,上述配置中的 `spring.devtools.restart.enabled=true` 是开启热重载的关键选项;同时暴露所有 actuator 端点以及启用了关闭命令是为了方便调试目的所作的选择性设定。
另外值得注意的是,虽然 DevTools 提供了非常便捷的功能用于加速开发周期内的迭代速度,但在生产环境中应当禁用这些功能以免带来不必要的安全风险或其他潜在问题。
阅读全文
相关推荐


















