开发与实用
手动启动热部署
介绍
热部署(Hot Deployment)指的是在应用程序正在运行的情况下,对其进行更新或修改并将这些变更应用到正在运行的应用程序中的过程。通常情况下,传统的部署方式需要停止应用程序、部署更新,然后重新启动应用程序才能使更新生效。而热部署则允许在无需停止应用程序的情况下,即时地更新代码、配置文件或资源,从而提高了开发和部署的效率。
热部署通常在开发和测试阶段使用,可以让开发人员在不间断地修改和调试代码的情况下,快速地查看和验证更改的效果。在生产环境中,热部署可能不太常见,因为它可能会引入一些不稳定因素,并增加了系统管理的复杂性。
总的来说,热部署是一种提高开发效率和灵活性的技术手段,能够加速应用程序的开发、测试和调试过程。
我们期待的就是我们在启动服务器部署项目后
不需要重新启动服务器就能应用我们的修改
我们现在的项目是没有热部署效果
我们的整个思想是我们的服务器发现我们的程序发送变化了
做内部的一个重启
现在的服务器受spring感受 现在服务器是springboot做控制
Tomcat对象我们要让一个东西去监控我们的代码
然后更新Tomcat服务器
我们由一个开发者工具
由springboot提供
帮助我们进行热部署
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
这样就是手动启动热部署
ReStart
ReLoad
热部署仅仅是一个Restart功能
快捷键控制
自动启动热部署
在设置里面把这个设置开下来
还要在高级设置里面打开这个
但是这样子启动springboot
速度会下降
热部署范围设置
我们发现有些东西会参加热部署
而有些东西不会参加热部署
我们改掉一些配置 控制台会重新刷新springboot的logo
这样就是启动了热部署
她有自己的一套规则
我们要是想改
是可以去改的
在yml配置文件里面去修改
spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC username: root password: 123456 devtools: restart: # 设置不参与热部署的文件或文件夹 exclude: static/**,public/**,config/application.yml
关闭热部署功能
但是这样会造成一个情况
你关掉了
别人开下来了
所以我们可以直接在启动类里面设置 就不会出现这样的方法
在启动类里面设置
如果无效
那说明别人用了比你更厉害的环境变量去操作
属性加载的优先顺序的缘故
我们可以查看springboot官方的文档
思考