Spring Boot 系统启动任务

🎈博客主页:🌈我的主页🌈
🎈欢迎点赞 👍 收藏 🌟留言 📝 欢迎讨论!👏
🎈本文由 【泠青沼~】 原创,首发于 CSDN🚩🚩🚩
🎈由于博主是在学小白一枚,难免会有错误,有任何问题欢迎评论区留言指出,感激不尽!🌠个人主页



系统任务:在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行web基础中的三大组件( Servlet、Filter、Listener ),通过Listener定义一个 ServletContextListener,然后就可以监听到项目启动和销毁,进而做出相应的数据初始化和销毁操作。

🌟 一、CommandLineRunner系统启动任务

🌟🌟 1.1、MyCommandLineRunner类

@Component
//优先级数字越小优先级越高
@Order(100)
public class MyCommandLineRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("args1="+ Arrays.toString(args));
    }
}

🌟🌟 1.2、MyCommandLineRunner02类

@Component
@Order(99)
public class MyCommandLineRunner02 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("args2="+ Arrays.toString(args));
    }
}

在这里插入图片描述
run方法的变量args与启动类中的变量是相同的

🌟🌟 1.3、编辑Spring Boot启动配置

在这里插入图片描述

🌟🌟 1.4、运行结果

在这里插入图片描述

🌟 二、ApplicationRunner系统启动任务

🌟🌟 2.1、ApplicationRunner类

@Component
@Order(98)
public class ApplicationRunner implements org.springframework.boot.ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        //获取没有键的参数,获取到的值和CommandRunner的一样
        List<String> NonOptionArgs = args.getNonOptionArgs();
        System.out.println("NonOptionArgs1 = " + NonOptionArgs);
        Set<String> optionNames = args.getOptionNames();
        for (String optionName : optionNames) {
            List<String> optionValues = args.getOptionValues(optionName);
            System.out.println(optionName+"= 1 = " + optionValues);
        }
        //获取命令的所有参数
        String[] sourceArgs = args.getSourceArgs();
        System.out.println("sourceArgs1 = " + sourceArgs);
    }
}

🌟🌟 2.2、ApplicationRunner02类

@Component
@Order(97)
public class ApplicationRunner02 implements org.springframework.boot.ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        //获取没有键的参数,获取到的值和CommandRunner的一样
        List<String> NonOptionArgs = args.getNonOptionArgs();
        System.out.println("NonOptionArgs2 = " + NonOptionArgs);
        Set<String> optionNames = args.getOptionNames();
        for (String optionName : optionNames) {
            List<String> optionValues = args.getOptionValues(optionName);
            System.out.println(optionName+"= 2 = " + optionValues);
        }
        //获取命令的所有参数
        String[] sourceArgs = args.getSourceArgs();
        System.out.println("sourceArgs2 = " + Arrays.toString(sourceArgs));
    }
}

🌟🌟 2.3、编辑Spring Boot启动配置

在这里插入图片描述

🌟🌟 2.4、运行结果

在这里插入图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值