Do you want to run some code before Spring boot application starts, however after ApplicationContext is loaded ?
If Answer is Yes, you have 2 interfaces at your service - CommandLineRunner and ApplicationRunner.
Both have single method called run(...), one accepts String[] as argument, the other accepts 'ApplicationArguments' which is nothing but a nice wrapper around supplied args.
you can read more about it here.
In case of multiple CommandRunner and ApplicationRunner we can order them using @Order annotation.
If Answer is Yes, you have 2 interfaces at your service - CommandLineRunner and ApplicationRunner.
Both have single method called run(...), one accepts String[] as argument, the other accepts 'ApplicationArguments' which is nothing but a nice wrapper around supplied args.
you can read more about it here.
@Component
@Order(1)
public
class
SampleCmdRunner
implements
CommandLineRunner {
@Override
public
void
run(String[] args) {
System.out.println(
"Executing the command line runner
);
}
}
@Component
@Order(2)
public
class
SampleAppRunner
implements
ApplicationRunner {
@Override
public
void
run(ApplicationArguments args) {
System.out.println(
"Executing SampleAppRunner"
);
}
}
In case of multiple CommandRunner and ApplicationRunner we can order them using @Order annotation.
No comments:
Post a Comment