idea启动spring-boot优雅退出

基本思路:

保存spring boot启动生成上下文

根据输入进行判断

如果是“q”,即退出程序

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

import java.util.Scanner;


@SpringBootApplication
public class Boot {

    public static void main(String[] args) {
        //保存 spring boot 生成的context 对象
        ConfigurableApplicationContext applicationContext = SpringApplication.run(Boot.class, args);

        // 生成获取控制台输入信息对象
        Scanner scanner = new Scanner(System.in);

        // 循环
        while(true){
            //获取控制台输入,如果没有会被阻塞
            String in = scanner.nextLine();
            //如果输入 q表示退出程序
            if(in.equals("q")){
                break;
            }
        }
        // 退出 spring boot
        SpringApplication.exit(applicationContext);
    }
}

 

你可能感兴趣的:(idea启动spring-boot优雅退出)