springboot项目启动后,执行代码顺序

springboot项目启动后,执行代码

SpringApplication的run方法下的

this.refreshContext(context);

执行后,执行继承ApplicationListener接口的类下的contextRefreshedEvent

@Component
public class StartupListener implements ApplicationListener<ContextRefreshedEvent> {
	@Override
	    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
	    }
}

之后显示

[main] INFO  `org.springframework.boot.web.embedded.tomcat.TomcatWebServer  - Tomcat started on port(s): 18886 (http) with context path ''

之后是

@Component
@Order(value = 1)
public class MyStartupRunnerTest implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println(">>>>This is MyStartupRunnerTest Order=1. Only testing CommandLineRunner...<<<<");
    }
}

之后是

@Component
public class ServerInitializer implements ApplicationRunner {

    @Override
    public void run(ApplicationArguments applicationArguments) throws Exception {
        System.out.println("applicationArguments");

        //code goes here
    }
}

之后是

@Component
public class ApplicationStartup
        implements ApplicationListener<ApplicationReadyEvent> {

    /**
     * This event is executed as late as conceivably possible to indicate that
     * the application is ready to service requests.
     */
    @Override
    public void onApplicationEvent(final ApplicationReadyEvent event) {

        System.out.println("ApplicationReadyEvent");

        return;
    }
}

你可能感兴趣的:(java,java)