Spring Boot为我们提供了两个接口,CommandLineRunner与ApplicationRunner,它们能够在应用启动之后执行部分业务逻辑。
CommandLineRunner
CommandLineRunner能够允许我们访问到应用的启动参数:
@ComponentpublicclassCommandLineAppStartupRunnerimplementsCommandLineRunner{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(CommandLineAppStartupRunner.class);@Overridepublicvoidrun(String...args)throwsException{logger.info("Application started with command-line arguments: {} . \n To kill this application, press Ctrl + C.",Arrays.toString(args));}}
ApplicationRunner
ApplicationRunner则是对启动参数进行了二次封装:
@ComponentpublicclassAppStartupRunnerimplementsApplicationRunner{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(AppStartupRunner.class);@Overridepublicvoidrun(ApplicationArgumentsargs)throwsException{logger.info("Your application started with option names : {}",args.getOptionNames());}}