001package run.iget.framework.common.util; 002 003import org.springframework.boot.SpringApplication; 004import org.springframework.context.ConfigurableApplicationContext; 005import org.springframework.core.env.Environment; 006 007import cn.hutool.core.util.StrUtil; 008import lombok.extern.slf4j.Slf4j; 009 010/** 011 * 代码千万行,注释第一行,注释不规范,迭代两行泪 012 * ---------------类描述----------------- 013 * 统一的应用启动器 014 * ---------------类描述----------------- 015 * 016 * @author 大周 017 * @date 2023/2/17 14:55 018 */ 019@Slf4j 020public class SpringBootLauncher { 021 022 /** 023 * 启动 024 * 025 * @param mainClass 026 * @param args 027 * @return 028 */ 029 public static ConfigurableApplicationContext run(Class mainClass, String[] args) { 030 ConfigurableApplicationContext applicationContext = SpringApplication.run(mainClass, args); 031 Environment env = applicationContext.getEnvironment(); 032 String applicationName = env.getProperty("spring.application.name"); 033 if (StrUtil.isBlank(applicationName)) { 034 applicationName = mainClass.getSimpleName(); 035 } 036 log.info("----------------------------------------------------------"); 037 log.info("Application '{}', at port {} is running!", applicationName, env.getProperty("server.port")); 038 log.info("----------------------------------------------------------"); 039 040 return applicationContext; 041 } 042 043}