🎈博客主页:🌈我的主页🌈
🎈欢迎点赞 👍 收藏 🌟留言 📝 欢迎讨论!👏
🎈本文由 【泠青沼~】 原创,首发于 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));
}
}