fix:mod:打印应用启动的服务器信息优化,直接打印,不再设置默认环境

This commit is contained in:
libiao 2021-10-24 16:32:13 +08:00
parent 0605dd4b36
commit b45dd7bf09
4 changed files with 14 additions and 151 deletions

View File

@ -1,9 +1,5 @@
package com.ruoyi;
import com.ruoyi.common.utils.DefaultProfileUtil;
import com.ruoyi.common.utils.SpringContextUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
@ -12,7 +8,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.core.env.Environment;
import java.lang.invoke.MethodHandles;
import java.net.InetAddress;
import java.net.UnknownHostException;
@ -28,31 +23,20 @@ public class RuoYiApplication
private static final Logger syslog = LoggerFactory.getLogger(RuoYiApplication.class);
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
//SpringApplication.run(RuoYiApplication.class, args);
//System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
// " .-------. ____ __ \n" +
// " | _ _ \\ \\ \\ / / \n" +
// " | ( ' ) | \\ _. / ' \n" +
// " |(_ o _) / _( )_ .' \n" +
// " | (_,_).' __ ___(_ o _)' \n" +
// " | |\\ \\ | || |(_,_)' \n" +
// " | | \\ `' /| `-' / \n" +
// " | | \\ / \\ / \n" +
// " ''-' `'-' `-..-' ");
appEnvInfo(args);
}
/**
* @Description: 打印应用启动环境信息
* @Author: libiao
* @Date: 2021/10/17 19:40
* @param args:
* @return: void
**/
public static void appEnvInfo(String[] args){
SpringApplication app = new SpringApplication(RuoYiApplication.class);
DefaultProfileUtil.addDefaultProfile(app);
ApplicationContext appc = app.run(args);
System.setProperty("spring.devtools.restart.enabled", "false");
ApplicationContext appc = SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +
" |(_ o _) / _( )_ .' \n" +
" | (_,_).' __ ___(_ o _)' \n" +
" | |\\ \\ | || |(_,_)' \n" +
" | | \\ `' /| `-' / \n" +
" | | \\ / \\ / \n" +
" ''-' `'-' `-..-' ");
// 打印应用启动环境信息
Environment env = appc.getEnvironment();
String ip = "localhost";
try {
@ -67,6 +51,5 @@ public class RuoYiApplication
env.getProperty("spring.profiles.active"),ip,
env.getProperty("server.port"));
syslog.info("程序启动完成!");
SpringContextUtils.setStaticApplicationContext(appc);
}
}

View File

@ -1,18 +0,0 @@
package com.ruoyi.common.utils;
/**
* 系统参数相关Key
*/
public class ConfigConstant {
/**
* 云存储配置KEY
*/
public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
/**
* 运行环境
*/
public static final String SPRING_PROFILE_DEVELOPMENT = "dev";
public static final String SPRING_PROFILE_TEST = "uat";
public static final String SPRING_PROFILE_PRODUCTION = "prd";
}

View File

@ -1,42 +0,0 @@
package com.ruoyi.common.utils;
import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.SpringApplication;
import org.springframework.core.env.Environment;
public class DefaultProfileUtil {
private static final String SPRING_PROFILE_DEFAULT = "spring.profiles.default";
private DefaultProfileUtil(){
}
/**
* Set a default to use when no profile is configured.
*
* @param app the spring application
*/
public static void addDefaultProfile(SpringApplication app) {
Map<String, Object> defProperties = new HashMap<String, Object>();
/*
* The default profile to use when no other profiles are defined
* This cannot be set in the <code>application.yml</code> file.
* See https://github.com/spring-projects/spring-boot/issues/1219
*/
defProperties.put(SPRING_PROFILE_DEFAULT, ConfigConstant.SPRING_PROFILE_DEVELOPMENT);
app.setDefaultProperties(defProperties);
}
/**
* Get the profiles that are applied else get default profiles.
*/
public static String[] getActiveProfiles(Environment env) {
String[] profiles = env.getActiveProfiles();
if (profiles.length == 0) {
return env.getDefaultProfiles();
}
return profiles;
}
}

View File

@ -1,60 +0,0 @@
package com.ruoyi.common.utils;
import org.apache.commons.lang3.Validate;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Spring Context 工具类
*
* @author libiao
* @date 2021-10-17
*/
@Component
public class SpringContextUtils implements ApplicationContextAware {
public static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
SpringContextUtils.applicationContext = applicationContext;
}
public static void setStaticApplicationContext(ApplicationContext applicationContext)
throws BeansException {
SpringContextUtils.applicationContext = applicationContext;
}
public static Object getBean(String name) {
return applicationContext.getBean(name);
}
/**
* 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
*/
public static <T> T getBean(String name, Class<T> requiredType) {
return applicationContext.getBean(name, requiredType);
}
/**
* 检查ApplicationContext不为空.
*/
private static void assertContextInjected() {
Validate.validState(applicationContext != null, "applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.");
}
public static boolean containsBean(String name) {
return applicationContext.containsBean(name);
}
public static boolean isSingleton(String name) {
return applicationContext.isSingleton(name);
}
public static Class<? extends Object> getType(String name) {
return applicationContext.getType(name);
}
}