Springboot 啓動完成之後去執行某些操作
1 啓動類調用實現
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
// 啓動完成調用自定義方法
ConditionTest conditionTest = SpringBeanUtil.getBean(ConditionTest.class);
conditionTest.test();
}
2 繼承 CommandLineRunner
import com.cdchen.study.service.ConditionTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
/**
*
* @description: ConditionTest
*
* @author: cdchen
*
* @create: 2019-05-24 11:19
**/
@Component
public class ConditionTestRunner implements CommandLineRunner {
@Autowired
private ConditionTest conditionTest;
@Override
public void run(String... strings) throws Exception {
// 啓動完成調用自定義方法
conditionTest.test();
}
}
3 繼承 ApplicationRunner
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
/**
*
* @description: ApplicationRunner
*
* @author: cdchen
*
* @create: 2019-05-24 16:20
**/
@Component
public class ApplicationTestRunner implements ApplicationRunner, Ordered {
@Override
public int getOrder(){
return 1;//通過設置這裏的數字來知道指定順序
}
@Override
public void run(ApplicationArguments var1) throws Exception{
System.out.println("MyApplicationRunner1!");
}
}
可通過繼承Order接口進行 runner排序,也可以使用@Order註解