SpringBoot运行流程源码分析:run方法流程及监听器( 五 )
自定义实现类比较简单 , 可像通常实现一个接口一样 , 先创建类 MyApplicationRunListener , 实现接口 SpringApplicationRunListener 及其方法 。 然后在对应的方法内实现自己的业务逻辑 , 以下示例代码中只简单打印方法名称 。 与普通接口实现唯一不同的是 , 这里需要指定一-个参数依次为 SpringApplication 和 String[ ]的构造方法 , 不然在使用时会直接报错 。
public class MyApplicationRunListener implements SpringApplicationRunListener {public MyApplicationRunListener ( SpringApplication application, String[]args){System. out . println("MyApplicationRunListener constructed function");@Overridepublic void starting() {System. out . println("starting...");@Overridepublic void environmentPrepared(ConfigurableEnvironment environment) {System. out. println(" environmentPrepared...");//在此省略掉其他方法的实现 }【SpringBoot运行流程源码分析:run方法流程及监听器】当定义好实现类之后 , 像注册其他监听器一样 ,程序在 spring.factories 中进行注册配置 。 如果项目中没有 spring.factories 文件 , 也可在 resources 目录下先创建 META-INF 目录 , 然后在该目录下创建文件 sprig.factories 。
spring.factories 中配置格式如下 。
# Run Listenersorg. springframework. boot . SpringApplicationRunListener=\com. secbro2. learn. listener . MyApplicationRunListener启动 Spring Boot 项目 , 你会发现在不同阶段打印出不同的日志 , 这说明该实现类的方法已经被调用 。
本文给大家讲解的内容是run方法核心流程 SpringApplicationRunListener 监听器
- 下篇文章给大家讲解的是初始化ApplicationArguments和初始化 ConfigurableEnvironment;
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
推荐阅读
- 灯塔市税务局首个5G智慧办税厅开始试运行
- Axiomtek推出AIE100-903-FL-NX AI Edge系统 可在恶劣环境下运行
- 专家介绍如何判断智能手机被入侵:运行速度变慢、电池消耗过快以及卡顿
- 怎样提高苹果6的运行速度?有这些问题就别救了,你用了几年了?
- 试运行18个月后 纽约所有地铁站支持Apple Pay无接触支付
- 用户|操作流程更优、功能更多、信息更加安全,你的“随申码”改版升级啦
- 健康|“健康连云港服务号”微信小程序发布,打通医疗健康全流程
- 诺基亚牌空调即将上市:无噪音运行,约 2741 元起
- 全国最大智能化成品包装车间在金川集团试运行
- 刘作虎确认一加新品:运行全新 OS
