ApplicationContext的使用
程序员文章站
2022-05-25 16:26:27
...
package com.study.demo.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
public class ApplicationContextUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationContextUtil.class);
private static ApplicationContext applicationContext;
private ApplicationContextUtil() {
}
static void setApplicationContext(ApplicationContext applicationContext) {
ApplicationContextUtil.applicationContext = applicationContext;
}
private static boolean checkApplicationContext() {
if (applicationContext == null) {
LOGGER.info("未获取ApplicationContext");
}
return applicationContext != null;
}
public static Object getBean(String beanName) {
Object result = null;
if (checkApplicationContext()) {
try {
result = applicationContext.getBean(beanName);
} catch (Exception e) {
LOGGER.error("获取Bean异常 e:{}", e);
}
}
return result;
}
public static <T> T getBean(String beanName, Class<T> className) {
T result = null;
if (checkApplicationContext()) {
try {
result = applicationContext.getBean(beanName, className);
} catch (Exception e) {
LOGGER.error("获取Bean异常 e:{}", e);
}
}
return result;
}
}