详解Springboot应用启动以及关闭时完成某些操作
作者:Hakka_Stephen
这篇文章主要介绍了详解Springboot应用启动以及关闭时完成某些操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一:启动时完成数据加载等需求
实现ApplicationListener接口,官方文档截图:
ApplicationListener接口的泛型类可以使用ApplicationStartedEvent和ApplicationReadyEvent
应用监听器事件执行先后顺序如下:
- ApplicationStartingEvent
- ApplicationEnvironmentPreparedEvent
- ApplicationPreparedEvent
- ApplicationStartedEvent
- ApplicationReadyEvent
- ApplicationFailedEvent
实现CommandLineRunner和ApplicationRunner完成启动加载数据
二:关闭时完成某些操作
实现ApplicationListener<ContextClosedEvent>
实现DisposableBean接口
三、spring boot应用关闭操作(Linux/unix/ubuntu环境下进行)
A、非安全验证
1、项目pom.xml添加如下依赖包:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2、application.properties文件添加如下内容:
#启用shutdownendpoints.shutdown.enabled=true#禁用密码验证endpoints.shutdown.sensitive=false
3、关闭命令:
curl -X POST host:port/shutdown
B、安全验证
1、pom.xml添加如下依赖包:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
2、application.properties文件添加以下内容:
#开启shutdown的安全验证endpoints.shutdown.sensitive=true #验证用户名security.user.name=admin #验证密码security.user.password=admin #角色management.security.role=SUPERUSER # 指定端口management.port=8081 # 指定地址management.address=127.0.0.1
3、关闭命令:
curl -u admin:admin -X POST http://127.0.0.1:8081/manage/shutdown
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。