ApplicationRunner 类

2023-12-06 00:30
文章标签 applicationrunner

本文主要是介绍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 类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/459733

相关文章

SpringBoot日常:扩展接口之CommandLineRunner和ApplicationRunner

文章目录 简介springboot启动容器过程应用场景如何控制执行顺序ApplicationRunner和CommandLineRunner区别代码示例运行示例 简介 日常开发中我们可能经常会遇到这样的场景,像启动容器完成后需要去执行一些业务逻辑,SpringBoot给我们提供了两个接口来帮助我们实现这种需求,两个启动加载接口分别是CommandLineRunner和Appl

CommandLineRunner和ApplicationRunner

文章目录 前言一、两者的区别二、CommandLineRunner接口示例三、ApplicationRunner接口示例 前言 在 Spring Boot 中,ApplicationRunner 和 CommandLineRunner 接口可以在应用启动后执行一些初始化操作或者运行一些脚本。 若想在项目启动之后立即执行某一段代码,就可以实现ApplicationRunner或

项目实践缓存预热方案之CommandLineRunner和ApplicationRunner

众所周知,在项目的开发中,合理使用缓存是提高服务性能的一大利器,本篇文章就来介绍一下我所在项目中如何使用缓存的一个案例。 背景 我们的项目是由多个微服务所组成,业务是保险,我所负责的模块是出单,在压测的过程中,发现当所有服务启动好之后,第一次出单的时间存在耗时较长的情况,通过sleuth分析了一下各个服务之间的调用链,针对第一单,发现出单接口中存在调用其他接口做查询和逻辑处理,在第一次调用后会

CommandLineRunner和ApplicationRunner作用及区别——SpringBoot

目录   一、需求与前言 二、接口的使用 2.1、ApplicationRunner接口使用 2.2、CommandLineRunner接口使用 三、区别 3.1、两个接口的实现方法一样,参数不一样,其他没什么区别。两个参数都可以接收java命令设置的参数及值,如下3.1.1截图。 3.2、ApplicationRunner接口的实现方法比CommandLineRunner接口的实

Spring-boot中ApplicationRunner源码

ApplicationRunner源码 public interface ApplicationRunner {void run(ApplicationArguments var1) throws Exception;} ApplicationArguments源码 public interface ApplicationArguments {String[] get

【java学习】Spring MVC(Model View Controller)、ApplicationRunner

1,概念 SpringMVC: Spring推出的基于Servlet标准的MVC框架实现 1)Spring MVC特性 Spring MVC提供了一种绑定机制(请求参数名称与Java类的属性相匹配即可),通过该机制可以从用户请求中提取数据,然后将数据转换为预定义的数据格式,最后映射到一个模型类,从而创建一个对象。Spring MVC还是非侵入式的,因为业务逻辑代码与框架本身是分离的。