Springboot项目启动后按顺序加载自定义类 (demo)

news2024/11/26 5:37:09

1. 实现ApplicationRunner接口, 重写run方法

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;


@Slf4j
@Component
@Order(2) //order 值越小越先执行
public class MyAppRunner implements ApplicationRunner {



    @Override
    public void run(ApplicationArguments args) {
        createHttpClient();
    }

    private void createHttpClient() {
        log.info("项目启动了, 执行--------ApplicationRunner");

        // TODO
    }
}

 

 
2. 实现CommandLineRunner接口, 重写run方法

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

@Slf4j
@Component
@Order(3) //order 值越小越先执行
public class MyComRunner implements CommandLineRunner {


    @Override
    public void run(String... args) throws Exception {
        createHttpClient();
    }

    private void createHttpClient() {
        log.info("项目启动了, 执行--------CommandLineRunner");

        // TODO
    }
}

 

执行结果

 
ApplicationRunner和CommandLineRunner, 随便你实现哪一个接口都可以

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/881494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HoudiniVex笔记_P22_RemappingBasics重映射

原视频:https://www.youtube.com/playlist?listPLzRzqTjuGIDhiXsP0hN3qBxAZ6lkVfGDI Bili:Houdini最强VEX算法教程 - VEX for Algorithmic Design_哔哩哔哩_bilibili Houdini版本:19.5 1、fit函数 取范围(omin,omax)中的值&am…

Netty:ByteBuf的资源释放方法

说明 io.netty.buffer.ByteBuf实现了io.netty.util.ReferenceCounted接口,需要显式释放。当ByteBuf被实例化后,它的引用计数是1。 调用ByteBuf对象的release方法释放: ByteBuf的release()方法使引用计数减少1。只有当执行以后引用计数减少…

【运维】linkis安装dss保姆级教程与踩坑实践

文章目录 一. 安装准备二. 创建用户三. 准备安装包四. 修改配置1. 修改config.sh2. 修改db.sh 五、安装和使用1. 执行安装脚本2. 启动服务3. 查看验证是否成功 六. 报错处理报错一:The user is not logged in报错二:dss接口报错报错三:执行没…

bigemap如何添加arcgis地图?

批量添加视频教程 相关链接:添加卫星影像图 教程 说明:批量添加可以同时添加多个在线地图,一次性添加完成(批量添加无法验证地址是否可以访问) 添加后如下图: 第一步 : 制作地图配置文件&…

从小白到大神之路之学习运维第80天-------Kubernetes企业级高可用集群部署

第四阶段 时 间:2023年8月14日 参加人:全班人员 内 容: Kubernetes 企业级高可用部 目录 一、Kubernetes高可用项目介绍 二、项目架构设计 (一)项目主机信息 (二)项目架构图 &#…

私域流量运营的软件终点是App?

2023年,中国新生人口出生人数预测只有780W,少得可怜。微信、支付宝、抖音、小红书等社交平台,在21世纪20年代风生水起,伴随者人口红利的增长,奠定了中国公域流量平台的位置。 市场是千变万化的。人口急剧缩减&#xf…

力扣:63. 不同路径 II(Python3)

题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从…

企业流程化管理有什么好处?企业实现流程化管理需要哪些步骤?

在当今快速发展的商业环境中,企业需要一个高效、可靠的管理系统来支持其日常运营和持续发展。流程管理作为一种系统化的管理方法,通过对工作流程的标准化、规范化、透明化等手段,使企业管理更具针对性、效率性和可控性。本文将通过介绍流程管…

【100天精通python】Day35:一文掌握GUI界面编程基本操作

目录 专栏导读 1 GUI 编程概述 1.1 为什么需要GUI? 1.2 常见的GUI编程工具和库 1.3 GUI应用程序的组成和架构 2 使用Tkinter 库 进行GUI编程 2.1 使用Tkinter库进行GUI编程的基本流程 2.2 使用Tkinter库进行GUI编程 2.2.1 导入Tkinter库 2.2.2 添加标签和…

TCP/IP协议追层分析物理层(第三十九课)

TCP/IP协议追层分析物理层(第三十九课) 1 物理层:建立、维护、断开物理连接,定义了接口及介质,实现了比特流的传输。 1、传输介质分类 有线介质:网线(双绞线)、光纤 无线介质:无线电 微波 激光 红外线 2、双绞线分类: 五类cat5: 适用于100Mbps 超五类cat5e:适用于…

深入源码分析kubernetes informer机制(二)Reflector

[阅读指南] 这是该系列第二篇 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 Reflector是什么整体结构工作流程list拉取数据缓存resync操作watch监听操作 总结 Reflector是什么 reflector在informer…

神经网络分类算法原理详解

目录 神经网络分类算法原理详解 神经网络工作流程 反向传播算法 1) 反向传播原理 2) 应用示例 总结 正向传播 (forward-propagation):指对神经网络沿着输入层到输出层的顺序,依次计算并存储模型的中间变量。 反向传播 &a…

泛微 E-Office文件上传漏洞复现

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…

牛客多校题解 | I Non-Puzzle: Segment Pair 扫描线

给n对区间,要求每对区间恰好选一个使得选出来的n个区间有交集,问有多少方案数 可以从每一个点开始考虑 如果前面的点没有任何可行的方案,那么新点就可以作为左端点,对答案的贡献为 向后扫描的过程中,如果新的点有增加…

2023-08-15 linux mipi 屏幕调试:有一个屏幕开机时候不显示,开机后按power 按键休眠唤醒就可以显示。原因是reset gpio 被复用

一、现象:今天更新了一个新版本的buildroot linux sdk ,调试两个mipi 屏幕,这两个屏幕之前在其他的sdk都调好了的,所有直接把配置搬过来。但是有一个屏幕可以正常显示,有一个屏幕开机时候不显示,开机后按po…

油画|怀念《记忆中的乌篷船》

《记忆中的乌篷船》 90x60cm 陈可之1998年绘 油画《记忆中的乌篷船》,描绘着晚霞中长江边的几艘乌篷船。寻常的景象,流淌着岁月的痕迹,是许多人的遥远回忆。 乌篷船处于画面中心,用焦点透视法,把近处的石板&#xff0…

k8s集群部署vmalert和prometheusalert实现钉钉告警

先决条件 安装以下软件包:git, kubectl, helm, helm-docs,请参阅本教程。 1、安装 helm wget https://xxx-xx.oss-cn-xxx.aliyuncs.com/helm-v3.8.1-linux-amd64.tar.gz tar xvzf helm-v3.8.1-linux-amd64.tar.gz mv linux-amd64/helm /usr/local/bin…

从零开始的机械臂yolov5抓取gazebo仿真(二)

使用moveit_setup_assistant配置机械臂(上) 观察机械臂模型 上一节中拿到了sunday_description功能包,将功能包放进工作空间进行编译,可将工作空间路径写进.bashrc文件中,这样就不必每次都source了 例如&#xff1a…

I2C连续读写实现

IIC系列文章: (1)I2C 接口控制器理论讲解 (2)I2C接口控制设计与实现 (3)I2C连续读写实现 文章目录 前言一、 i2c_bit_shift 模块分析二、 i2c_control 模块实现三、 i2c_control 模块仿真测试前言 上文的 i2c_bit_shift 模块说完了,我们发现实现一个字节的写操作还是可以实现…

为什么CAN要采取双绞线布局?

摘要: 在CAN总线应用中,一般建议使用屏蔽双绞线进行组网、布线,本文将详细讲解为什么CAN总线要采取双绞线的布局。 CAN(Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来…