详解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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
关于springboot2整合lettuce启动卡住问题的解决方法
Lettuce和Jedis的都是连接Redis Server的客户端程序,下面这篇文章主要给大家介绍了关于springboot2整合lettuce启动卡住问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下2021-12-12
最新评论