code:
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* @author 12828
* @description SpringCOntexxtUtil
* @date 2022/08/06 09:58
*/
@Component
public class SpringContexxtUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContexxtUtil.applicationContext = applicationContext;
}
public static ApplicationContext SpringContexxtUtil() {
return applicationContext;
}
public static Object getBean(String name){
return applicationContext.getBean(name);
}
public static Object getBean(String name,Class requiredType){
return applicationContext.getBean(name,requiredType);
}
public static Object containsBean(String name){
return applicationContext.containsBean(name);
}
public static Object isSingleton(String name){
return applicationContext.isSingleton(name);
}
public static Object getType(String name){
return applicationContext.getType(name);
}
public static Object getAliases(String name) {
return applicationContext.getAliases(name);
}
}
use way :
MailContoller mailContoller = (MailContoller) SpringContexxtUtil.getBean("mailContoller");