上代码:
@Component public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContextUtil.applicationContext = applicationContext; } /** * @param beanName bean名称 * @Description: 获取spring容器中的bean, 通过bean名称获取 * @return: Object 返回Object,需要做强制类型转换 */ public static Object getBean(String beanName) { return applicationContext.getBean(beanName); } /** * @param beanClass bean 类型 * @Description: 获取spring容器中的bean, 通过bean类型获取 * @return: T 返回指定类型的bean实例 */ public static <T> T getBean(Class<T> beanClass) { return applicationContext.getBean(beanClass); } /** * @param beanName bean 名称 * @param beanClass bean 类型 * @Description: 获取spring容器中的bean, 通过bean名称和bean类型精确获取 * @return: T 返回指定类型的bean实例 */ public static <T> T getBean(String beanName, Class<T> beanClass) { return applicationContext.getBean(beanName, beanClass); } }