spring boot 热部署

热部署的主要作用是在服务器运行的时候可以在不关闭服务器的情况下修改代码

可以很大的提高开发效率

热部署的步骤很简单

首先,需要在 pom.xml 文件中引入热部署需要的依赖

XML 复制代码
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

然后我们在每次修改代码后按 ctrl + F9 即可将代码更新

测试热部署是否生效

先启动spring boot 的 main 方法

java 复制代码
    public static void main(String[] args) {
//        System.out.println("热部署测试");
        SpringApplication.run(SSMPApplication.class, args);
    }

然后我们将注释放开,按下 ctrl + F9,等待右下角读条结束后就会更新控制台信息:

:: Spring Boot :: (v2.5.4)

2024-09-23 22:18:27.534 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : Starting SSMPApplication using Java 17 on 大宝贝 with PID 14364 (E:\ideaItem\springboot_08_ssmp\target\classes started by 陈炫宇 in E:\ideaItem\text2)

2024-09-23 22:18:27.540 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : No active profile set, falling back to default profiles: default

2024-09-23 22:18:27.594 INFO 14364 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable

2024-09-23 22:18:27.594 INFO 14364 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'

2024-09-23 22:18:28.354 INFO 14364 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 80 (http)

2024-09-23 22:18:28.361 INFO 14364 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2024-09-23 22:18:28.361 INFO 14364 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.52]

2024-09-23 22:18:28.408 INFO 14364 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2024-09-23 22:18:28.408 INFO 14364 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 814 ms

2024-09-23 22:18:28.470 INFO 14364 --- [ restartedMain] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource

2024-09-23 22:18:28.568 INFO 14364 --- [ restartedMain] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited

_ _ |_ _ |. ___ _ | _

| | |\/|)(| | |\ |)|||\

/ |

3.4.3

2024-09-23 22:18:28.987 INFO 14364 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729

2024-09-23 22:18:29.027 INFO 14364 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 80 (http) with context path ''

2024-09-23 22:18:29.027 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : Started SSMPApplication in 1.802 seconds (JVM running for 2.395)

2024-09-23 22:18:45.718 INFO 14364 --- [ Thread-5] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ...

2024-09-23 22:18:45.718 INFO 14364 --- [ Thread-5] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed

热部署测试

. ____ _ __ _ _

/\\ / _' __ _ () __ __ _ \ \ \ \

( ( )\___ | '_ | '| | ' \/ _` | \ \ \ \

\\/ _)| |)| | | | | || (| | ) ) ) )

' || .__|| ||| |\__, | / / / /

=========||==============|/=///_/

:: Spring Boot :: (v2.5.4)

2024-09-23 22:18:45.777 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : Starting SSMPApplication using Java 17 on 大宝贝 with PID 14364 (E:\ideaItem\springboot_08_ssmp\target\classes started by 陈炫宇 in E:\ideaItem\text2)

2024-09-23 22:18:45.779 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : No active profile set, falling back to default profiles: default

2024-09-23 22:18:45.938 INFO 14364 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 80 (http)

2024-09-23 22:18:45.942 INFO 14364 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2024-09-23 22:18:45.942 INFO 14364 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.52]

2024-09-23 22:18:45.966 INFO 14364 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2024-09-23 22:18:45.966 INFO 14364 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 186 ms

2024-09-23 22:18:45.992 INFO 14364 --- [ restartedMain] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource

2024-09-23 22:18:46.029 INFO 14364 --- [ restartedMain] com.alibaba.druid.pool.DruidDataSource : {dataSource-2} inited

_ _ |_ _ |. ___ _ | _

| | |\/|)(| | |\ |)|||\

/ |

3.4.3

2024-09-23 22:18:46.181 INFO 14364 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729

2024-09-23 22:18:46.196 INFO 14364 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 80 (http) with context path ''

2024-09-23 22:18:46.199 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : Started SSMPApplication in 0.442 seconds (JVM running for 19.555)

2024-09-23 22:18:46.201 INFO 14364 --- [ restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged

2024-09-23 22:18:47.644 INFO 14364 --- [ Thread-7] com.alibaba.druid.pool.DruidDataSource : {dataSource-2} closing ...

2024-09-23 22:18:47.647 INFO 14364 --- [ Thread-7] com.alibaba.druid.pool.DruidDataSource : {dataSource-2} closed

热部署测试

. ____ _ __ _ _

/\\ / _' __ _ () __ __ _ \ \ \ \

( ( )\___ | '_ | '| | ' \/ _` | \ \ \ \

\\/ _)| |)| | | | | || (| | ) ) ) )

' || .__|| ||| |\__, | / / / /

=========||==============|/=///_/

:: Spring Boot :: (v2.5.4)

2024-09-23 22:18:47.693 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : Starting SSMPApplication using Java 17 on 大宝贝 with PID 14364 (E:\ideaItem\springboot_08_ssmp\target\classes started by 陈炫宇 in E:\ideaItem\text2)

2024-09-23 22:18:47.694 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : No active profile set, falling back to default profiles: default

2024-09-23 22:18:47.870 INFO 14364 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 80 (http)

2024-09-23 22:18:47.870 INFO 14364 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2024-09-23 22:18:47.873 INFO 14364 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.52]

2024-09-23 22:18:47.887 INFO 14364 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2024-09-23 22:18:47.887 INFO 14364 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 192 ms

2024-09-23 22:18:47.900 INFO 14364 --- [ restartedMain] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource

2024-09-23 22:18:47.926 INFO 14364 --- [ restartedMain] com.alibaba.druid.pool.DruidDataSource : {dataSource-3} inited

_ _ |_ _ |. ___ _ | _

| | |\/|)(| | |\ |)|||\

/ |

3.4.3

2024-09-23 22:18:48.029 INFO 14364 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729

2024-09-23 22:18:48.039 INFO 14364 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 80 (http) with context path ''

2024-09-23 22:18:48.044 INFO 14364 --- [ restartedMain] com.itheima.SSMPApplication : Started SSMPApplication in 0.371 seconds (JVM running for 21.4)

2024-09-23 22:18:48.044 INFO 14364 --- [ restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged

相关推荐
兔兔爱学习兔兔爱学习4 小时前
Spring Al学习7:ImageModel
java·学习·spring
lang201509285 小时前
Spring远程调用与Web服务全解析
java·前端·spring
m0_564264186 小时前
IDEA DEBUG调试时如何获取 MyBatis-Plus 动态拼接的 SQL?
java·数据库·spring boot·sql·mybatis·debug·mybatis-plus
崎岖Qiu6 小时前
【设计模式笔记06】:单一职责原则
java·笔记·设计模式·单一职责原则
Hello.Reader6 小时前
Flink ExecutionConfig 实战并行度、序列化、对象重用与全局参数
java·大数据·flink
熊小猿7 小时前
在 Spring Boot 项目中使用分页插件的两种常见方式
java·spring boot·后端
paopaokaka_luck7 小时前
基于SpringBoot+Vue的助农扶贫平台(AI问答、WebSocket实时聊天、快递物流API、协同过滤算法、Echarts图形化分析、分享链接到微博)
java·vue.js·spring boot·后端·websocket·spring
老华带你飞7 小时前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
notion20257 小时前
Adobe Lightroom Classic下载与安装教程(附安装包) 2025最新版详细图文安装教程
java·数据库·其他·adobe
rengang668 小时前
351-Spring AI Alibaba Dashscope 多模型示例
java·人工智能·spring·多模态·spring ai·ai应用编程