【Spring Boot】Spring Boot之三种容器启动后进行相关应用初始化操作方法
时间:2019-11-03
本文章向大家介绍【Spring Boot】Spring Boot之三种容器启动后进行相关应用初始化操作方法,主要包括【Spring Boot】Spring Boot之三种容器启动后进行相关应用初始化操作方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、方式一,使用ApplicationListener<E extends ApplicationEvent>监听ContextRefreshedEvent事件
/** * @author zhangboqing * @date 2019-11-03 */ @Component public class MyApplicationListener implements ApplicationListener<ContextRefreshedEvent> { @Autowired private MyService myService; @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { System.out.println(">>>>>>>>>>>>>> ApplicationListener:" + myService.sayHello()); } }
二、方式二,使用SmartInitializingSingleton
/** * @author zhangboqing * @date 2019-11-03 */ @Component public class MySmartInitializingSingleton implements SmartInitializingSingleton { @Autowired private MyService myService; @Override public void afterSingletonsInstantiated() { System.out.println(">>>>>>>>>>>>>> SmartInitializingSingleton:" + myService.sayHello()); } }
三、方式三,使用SmartLifecycle
/** * @author zhangboqing * @date 2019-11-03 */ @Component public class MySmartLifecycle implements SmartLifecycle { @Autowired private MyService myService; @Override public void start() { System.out.println(">>>>>>>>>>>>>> SmartLifecycle:" + myService.sayHello()); } @Override public boolean isAutoStartup() { return true; } @Override public void stop(Runnable callback) { } @Override public void stop() { } @Override public boolean isRunning() { return false; } @Override public int getPhase() { return 0; } }
原文地址:https://www.cnblogs.com/756623607-zhang/p/11789199.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 数字签名与数字证书
- Android TreeView实现带复选框树形组织结构
- Discuz! Q在Windows下CA根证书库错误
- 6种查看Linux进程占用端口号的方法详解
- Flutter 侧滑栏及城市选择UI的实现方法
- 使用iptable和Firewalld工具来管理Linux防火墙连接规则
- 如何使用Flutter开发一款电影APP详解
- Linux获取10个你最常用的终端命令列表
- Flutter banner_view 轮播图的使用及实现代码
- Linux下截屏并编辑的最佳工具
- Android Native 内存泄漏系统化解决方案
- flutter ExpansionTile 层级菜单的实现
- Ubuntu下如何创建XFS文件系统的LVM详解
- 华为开源内部OpenJDK定制版:“毕昇 JDK 8”
- Linux定时任务Crontab命令使用详解与总结