springboot启动监听线程_Springboot启动流程

springboot启动监听线程_Springboot启动流程SpringBoot提供了CommandLineRunner、ApplicationRunner两个监听接口,通过这两个接口可以在应用启动时做特殊处理。使用两者的好处在于,可以方便的使用应用启动参数,根据参数不同做不同的初始化操作。自定义启动监听由程序实现,并且标识@Component注解,交于IOC管理。在SpringBoot启动成功后就会执行实现类的回调。示例:第一步: 自定义CommandLineRunner:@ComponentpublicclassCommandLineStartu

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

SpringBoot提供了CommandLineRunner、ApplicationRunner两个监听接口,通过这两个接口可以在应用启动时做特殊处理。
使用两者的好处在于,可以方便的使用应用启动参数,根据参数不同做不同的初始化操作。
自定义启动监听由程序实现,并且标识@Component注解,交于IOC管理。在SpringBoot启动成功后就会执行实现类的回调。

示例:
第一步: 自定义CommandLineRunner:

@Component
public class CommandLineStartupRunner implements CommandLineRunner { 
   
    @Override
    public void run(String... args) throws Exception { 
   
        System.out.println("CommandLineRunner args: "+ Arrays.toString(args));
    }
}

第二步: 自定义ApplicationRuner:

@Component
public class ApplicationStartupRunner implements ApplicationRunner { 
   
    @Override
    public void run(ApplicationArguments args) throws Exception { 
   
        System.out.println("applicationRunner args: ");
        System.out.println("applicationRunner args: ");
        System.out.println(args.getOptionValues("name"));
        System.out.println(args.getOptionValues("password"));
    }
}

运行程序:
在这里插入图片描述
如果一个项目存在多个 CommandLineRunner 或者 ApplicationRunner 的实现。可以通过 @Order 注解来设置执行的优先级。value 值越小,越先执行。
运行程序,结果:

示例:

@Configuration
public class BeanRunner { 
   
    @Bean
    @Order(1)
    public CommandLineRunner runner1() { 
   
        return args -> System.out.println("runner1 " + Arrays.toString(args));
    }
    @Bean
    @Order(2)
    public CommandLineRunner runner2() { 
   
        return args -> System.out.println("runner2 " + Arrays.toString(args));
    }
    @Bean
    @Order(3)
    public CommandLineRunner runner3() { 
   
        return args -> System.out.println("runner3 " + Arrays.toString(args));
    }
}

运行程序,结果:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196596.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java泛型详解,史上最全图文详解「建议收藏」

    Java泛型详解,史上最全图文详解「建议收藏」泛型在java中有很重要的地位,无论是开源框架还是JDK源码都能看到它。毫不夸张的说,泛型是通用设计上必不可少的元素,所以真正理解与正确使用泛型,是一门必修课。一:泛型本质Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛.

    2022年7月8日
    29
  • Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程

    Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程博主经历过多次双系统的安装与卸载,所以这次安装就记录下全过程,能让后面的同学少走弯路。安装目录一、查看电脑信息1、BIOS模式2、硬盘数二、制作系统盘1、下载镜像源2、制作U盘启动盘三、分配硬盘空间四、安装Ubuntu18.041、进入U盘引导项2、安装设置一、查看电脑信息1、BIOS模式Win+R,输入msinfo32回车,出现系统界面,可查看BIOS模式:本教程只适合BIOS模式为UEFI的电脑,如果BIOS模式为传统的,请查看其他对应教程。2、硬盘数此电脑——>磁盘管理,可以.

    2022年7月24日
    7
  • 歌词编辑软件哪个好_编歌词软件

    歌词编辑软件哪个好_编歌词软件https://www.cnblogs.com/BensonLaur/p/6262565.html 感谢开发这么好的工具!下载地址:http://beslyric.320.io/BesBlog/beslyric/download.action 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言、评论转载于:https://www.cnblogs….

    2025年7月13日
    3
  • rider 激活 csdn【中文破解版】

    (rider 激活 csdn)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    65
  • 机房搬迁遇到的问题[通俗易懂]

    机房搬迁遇到的问题[通俗易懂]春节之前,公司接到了项目,机房搬迁,一般的机房搬迁也无所谓,但是这次是工商行政管理局的机房搬迁,从9楼搬到一楼,现把遇到的问题记录如下。总共有3套系统运行在机房,重要的是全省的工商系统,硬件是2台小型机IBM570和一套磁盘阵列存储数据,这套系统已经运行10年之久,之前一直没有关机过,所以我们很是谨慎处理这套系统,在搬迁之前已经重启过机器,因为按照以往的经验计算机长时间的运行,重启后就就有可

    2025年7月23日
    4
  • 200个Gmail邀请,要的请留下邮箱地址

    200个Gmail邀请,要的请留下邮箱地址

    2021年7月22日
    483

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号