一、测试用例
package com.xx;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import javax.annotation.PostConstruct;
/**
* @author aqi
* @since ${DATE} ${TIME}
*/
@Slf4j
@MapperScan("com.xx.permission.mapper")
@SpringBootApplication
public class Main implements ApplicationRunner, CommandLineRunner, InitializingBean {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
@PostConstruct
public void init() {
log.info("执行PostConstruct...");
}
@Override
public void run(ApplicationArguments args) throws Exception {
log.info("执行ApplicationRunner...");
}
@Override
public void run(String... args) throws Exception {
log.info("执行CommandLineRunner...");
}
@Override
public void afterPropertiesSet() throws Exception {
log.info("执行InitializingBean...");
}
}
二、执行顺序
三、结论
PostConstruct > InitializingBean > ApplicationRunner > CommandLineRunner