当前位置: 首页 > news >正文

ApplicationRunner 类

优质博文:IT-BLOG-CN

在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunnerApplicationRunner他们的执行时机为容器启动完成的时候

这两个接口中有一个run方法,我们只需要实现这个方法即可。这两个接口的不同之处在于:ApplicationRunnerrun方法的参数为ApplicationArguments,而CommandLineRunner接口中run方法的参数为String数组。目前我在项目中用的是ApplicationRunner。是这么实现的:args是系统启动时传入的参数。

package com.zzx.service.start;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;/*** @ClassName: BootStart* @Description: 系统入口* @Author: zzx* @Date: 2020/9/22 17:26*/
@Component
public class BootStart implements ApplicationRunner {private static final Logger logger = LoggerFactory.getLogger(BootStart.class);@Overridepublic void run(ApplicationArguments args) {try {logger.info("启动系统线程...");//创建线程池ThreadFactory threadFactory = Executors.defaultThreadFactory();ExecutorService executorService = new ThreadPoolExecutor(1,1,0L,TimeUnit.MILLISECONDS,new LinkedBlockingDeque<Runnable>(),threadFactory);//(() -> {}) lambda表达式executorService.execute(() -> {});} catch (Exception e) {logger.error("******初始化系统异常:", e);}}
}

相关文章:

ApplicationRunner 类

优质博文&#xff1a;IT-BLOG-CN 在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件&#xff0c;数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunner和ApplicationRunner。他们的执…...

QT中的 容器(container)-大全

一、介绍 Qt库提供了一套通用的基于模板的容器类&#xff0c;可以用这些类存储指定类型的项。比如&#xff0c;你需要一个大小可变的QString的数组&#xff0c;则使用QVector<QString>。 这些容器类比STL&#xff08;C标准模板库&#xff09;容器设计得更轻量、更安全并…...

Docker配置镜像加速器

Ubuntu 安装&#xff0f;升级Docker客户端 推荐安装1.10.0以上版本的Docker客户端&#xff0c;参考文档docker-ce配置镜像加速器 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 sudo mkdir -p /etc/docker sudo t…...

飞致云1panel + 雷池WAF

可能有许多人都有这个需求&#xff1a;为自己的个人站点套上WAF&#xff0c;增加安全性&#xff0c;本文将介绍如何将1panel面板深度结合长亭雷池防火墙&#xff0c;实现为个人站点套上WAF并且自动续签ssl证书。 前提条件&#xff1a; 服务器IP已绑定域名 完整的1panel环境 …...

策略梯度简明教程

策略梯度方法 (PG&#xff1a;Policy Gradient) 是强化学习 (RL&#xff1a;Reinforcement Learning) 中常用的算法。 1、从库里的本能开始 PG的原理很简单&#xff1a;我们观察&#xff0c;然后行动。人类根据观察采取行动。 引用斯蒂芬库里的一句话&#xff1a; 你必须依靠…...

鸿蒙原生应用/元服务开发-利用picker选择器来多选相册图片

前言 在之前的时候&#xff0c;测试一个应用进入相册选择图片demo&#xff0c;利用了startAbilityForResult()方法&#xff0c;启动相对应的Ability来完成效果&#xff0c;但是这种方法有限制&#xff0c;一次只能获取一张图片&#xff0c;在完成某些功能测试的时候就很不方便。…...

java:封装统一的响应体code、data、msg、paging

背景 我们在写接口的时候一般不会直接返回给前端数据&#xff0c;而是会有响应体&#xff0c;比如 code、data、msg&#xff0c;这样就有一个统一的结构方便前端处理&#xff0c;那么今天就来封装一个统一的响应体 封装基本响应体 1、在 config 包里新建 ApiResponse.java …...

leetcode算法之栈

目录 1.删除字符串中的所有相邻重复项2.比较含退格的字符串3.基本计算器II4.字符串解码5.验证栈序列 1.删除字符串中的所有相邻重复项 删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {string ret;//使用数组模拟栈操作for(auto …...

电脑上mp4视频文件无缩略图怎么办

前言&#xff1a;有时候电脑重装后电脑上的mp4视频文件无缩略图&#xff0c;视频文件数量比较多的时候查找比较麻烦 以下方法亲测有效&#xff1a; 1、下载MediaPreview软件 2、软件链接地址&#xff1a;https://pan.baidu.com/s/1bzVJpmcHyGxXNjnzltojtQ?pwdpma0 提取码&…...

【Centos8】配置网络镜像源

文章目录 配置 yum 源配置网络 yum 源备份下载阿里 centos-base.repo 到 /etc/yum.repos.d/安装 EPEL 源测试安装 配置 yum 源 # 检查是否安装了 yum rpm -qa|grep yum# 查看本地已安装的所有软件包 yum list installed# 查看软件包安装位置 # 查看某个东西的软件包 rpm -qa|g…...

深入学习Synchronized各种使用方法

文章目录 前言一、synchronized关键字通用在下面四个地方&#xff1a;1.1synchronized修饰实例方法1.2synchronized修饰静态方法&#xff1a;1.3synchronized修饰实例方法的代码块1.4synchronized修饰静态方法的代码块2.读入数据 二.Sychronized关键特性2.1互斥2.2 刷新内存2.3…...

【idea】设置鼠标滚轮控制缩放大小

1、点击file 选择Setting 2、点击Editor 下面的 General 3、勾选 Mouse Control 下面的 Change font size with CtrlMouse Wheel in 4、点级apply 5、按 ctrl键 鼠标滚轮缩放字体的大小...

合并两个有序数组(leetcode_刷题1)

目录 题目&#xff1a;合并两个有序数组 题目分析方向1&#xff1a; 题目分析方向2&#xff1a; 题目&#xff1a;合并两个有序数组 题目要求&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums…...

麒麟linux将图片批量生成PDF的方法

笔者手里有一批国产linu系统&#xff0c;目前开始用在日常的工作生产环境中&#xff0c;我这个老程序猿勉为其难的充当运维的或网管的角色。 国产linux系统常见的为麒麟Linux&#xff0c;统信UOS等&#xff0c;基本都是基于debian再开发的linux。 问题描述&#xff1a; wind…...

Linux——vim编辑文件时——.swp文件解决方案

test.cpp样例 当我们vim test.cpp进入编辑文件。 却忘记了保存退出 再次进入就会出现一下画面 当你摁下Enter键位 出现以下几个选项 O——是只读不写 E——是正常打开文件但不会载入磁盘内容 R——覆盖——是加载存储磁盘的文件(当我们忘记保存时&#xff0c;系统会自动帮我…...

【Maven】清理 maven 仓库

初始情况下&#xff0c;我们的本地仓库是没有任何jar包的&#xff0c;此时会从私服去下载&#xff08;如果没有配置&#xff0c;就直接从中央仓库去下载&#xff09;。 可能由于网络的原因&#xff0c;jar包下载不完全&#xff0c;这些不完整的jar包都是以lastUpdated结尾。此…...

APOLLO自动驾驶技术沙龙:未来已来,共创智能交通新时代

在这次Apollo会议上&#xff0c;我深刻地感受到了人工智能自动驾驶技术领域的最新进展和未来趋势。作为一名从事软件开发工作的人员&#xff0c;我深感荣幸能够参加这次盛会。 前言 本次活动是百度Apollo社区工程师齐聚首钢Park&#xff0c;带来现场实操与技术分享。主要围绕Ap…...

Java面试题12

1.redis 怎么实现分布式锁&#xff1f; Redis可以通过以下方式实现分布式锁&#xff1a; 使用RedLock算法&#xff1a;多个Redis节点组合使用&#xff0c;通过竞争锁来达到分布式锁的效果。使用SETNX命令&#xff1a;利用SETNX&#xff08;SET if Not eXists&#xff09;命令…...

ubuntu上创建服务启动python脚本

场景 最近在使用ubuntu服务器部署MySQL和同步数据&#xff0c;同步数据使用的是python&#xff0c;但是我不能直接操作服务器&#xff0c;只能通过Xshell远程访问服务器&#xff0c;但是启动python脚本的时候如果关掉xshell会停止Python脚本&#xff0c;所以如果要让python脚本…...

51单片机制作数字频率计

文章目录 简介设计思路工作原理Proteus软件仿真软件程序实验现象测量误差和范围总结 简介 数字频率计是能实现对周期性变化信号频率测量的仪器。传统的频率计通常是用很多的逻辑电路和时序电路来实现的&#xff0c;这种电路一般运行较慢&#xff0c;而且测量频率的范围较小。这…...

DDPG与TD3算法训练中tanh饱和区导致的边界值问题分析与调优

1. 为什么DDPG/TD3会卡在动作边界值&#xff1f; 第一次用DDPG训练机械臂控制任务时&#xff0c;我盯着监控曲线看了整整三天——那个该死的关节角度永远卡在30度的极限位置。后来换成TD3算法&#xff0c;发现同样会陷入这个怪圈。这就像新手司机开车总把方向盘打死&#xff0c…...

Fish Speech 1.5企业落地手册:对接CRM/知识库构建智能语音助手

Fish Speech 1.5企业落地手册&#xff1a;对接CRM/知识库构建智能语音助手 想象一下&#xff0c;你的客户服务系统能自动用自然、亲切的声音回答客户咨询&#xff0c;你的内部知识库能“开口说话”&#xff0c;为员工提供语音指引。这听起来像是科幻场景&#xff0c;但今天&am…...

OpenClaw多模态探索:百川2-13B+OCR实现图片信息自动化处理

OpenClaw多模态探索&#xff1a;百川2-13BOCR实现图片信息自动化处理 1. 为什么需要图片信息自动化处理 上周我收到一份电子合同&#xff0c;需要从中提取关键条款进行汇总。手动翻查30多页PDF时&#xff0c;突然想到&#xff1a;既然OpenClaw能操控电脑&#xff0c;为什么不…...

体验人机协同:在快马平台利用ai辅助开发优化天气查询代码

最近在做一个天气查询的小工具&#xff0c;原本的代码功能很简单&#xff0c;就是从API获取数据然后打印出来。但实际用起来发现很多问题&#xff1a;网络不好的时候直接崩溃&#xff0c;返回的数据格式也经常对不上。正好在InsCode(快马)平台上看到了AI辅助开发的功能&#xf…...

UnblockNeteaseMusic完整指南:如何一键解锁网易云音乐灰色歌曲

UnblockNeteaseMusic完整指南&#xff1a;如何一键解锁网易云音乐灰色歌曲 【免费下载链接】UnblockNeteaseMusic Revive unavailable songs for Netease Cloud Music 项目地址: https://gitcode.com/gh_mirrors/un/UnblockNeteaseMusic 还在为网易云音乐里那些灰色的、…...

小白程序员快看!轻松入门大模型驱动的AI Agent,收藏这份超全学习指南!

本文以通俗易懂的语言介绍了AI Agent的概念、构成、分类及工作流程&#xff0c;并与传统软件进行了对比&#xff0c;阐述了AI Agent的核心优势。同时&#xff0c;文章还列举了AI Agent的常见应用场景&#xff0c;并推荐了5个适合新手使用的开发工具&#xff0c;最后通过一个实际…...

MySQL 8.0 等保合规实战:手把手配置开源审计插件 server_audit.so

MySQL 8.0 等保合规审计插件实战指南 在数字化转型浪潮中&#xff0c;数据库安全审计已成为企业合规运营的刚需。对于使用MySQL 8.0的企业而言&#xff0c;如何在不影响性能的前提下满足等保2.0三级及以上对数据库审计的要求&#xff0c;是每位DBA和安全工程师必须掌握的技能。…...

MCP2518FD屏蔽寄存器自动配置算法(11bit标准帧多ID接收场景)

1. 为什么需要自动配置屏蔽寄存器&#xff1f; 在CAN总线通信中&#xff0c;MCP2518FD作为一款常用的CAN控制器&#xff0c;经常需要处理多ID接收的场景。想象一下你正在开发一个汽车电子控制单元(ECU)&#xff0c;需要同时接收来自发动机、变速箱、ABS等多个模块的数据。每个…...

解决Windows任务栏视觉单调问题的3个实用工具:RoundedTB个性化方案

解决Windows任务栏视觉单调问题的3个实用工具&#xff1a;RoundedTB个性化方案 【免费下载链接】RoundedTB Add margins, rounded corners and segments to your taskbars! 项目地址: https://gitcode.com/gh_mirrors/ro/RoundedTB 每天面对电脑时&#xff0c;那块占据屏…...

挖到宝!PFC2D 流固耦合常用案例合集,科研人速进

该模型是“PFC2D流固耦合常用案例合集”&#xff1a; 其中包括水力压裂、达西渗流等多个案例。 有需要学习和交流的伙伴可按需选取。 干货满满&#xff0c;是运用pfc5.0做流固耦合必不可少的科研学习资料性价比绝对超高 内容可编辑&#xff0c;觉得运行通畅 代码真实有效。最近…...