package com.integrated.zyyt.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; /** * @ClassName GetBeanUtil * @Author cy * @Date 2022/8/16 * @Description * @Version 1.0 **/ @Component public class GetBeanUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (GetBeanUtil.applicationContext == null) { GetBeanUtil.applicationContext = applicationContext; } } /** * 返回ApplicationContext * * @return ApplicationContext */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 返回bean * * @param beanName beanName * @return bean */ public static Object getBean(String beanName) { return applicationContext.getBean(beanName); } /** * 获取bean * * @param c c * @param 泛型 * @return bean */ public static T getBean(Class c) { return applicationContext.getBean(c); } /** * 获取bean * @param c c * @param name 名称 * @param 泛型 * @return T 泛型 */ public static T getBean(String name, Class c) { return getApplicationContext().getBean(name, c); } }