在xml中配置
<bean id="springAPPContextUtil" class="com.xxx.utils.SpringAppContextUtil" lazy-init="false"/>
@Component public class SpringAppContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContextHolder; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { setAppContext(applicationContext); } private static void setAppContext(ApplicationContext applicationContext){ applicationContextHolder = applicationContext; } public static <T> T getBean(Class<T> clazz, String beanName) { return applicationContextHolder.getBean(beanName, clazz); } public static <T> Map<String, T> getBeanOfType(Class<T> clazz) { return applicationContextHolder.getBeansOfType(clazz); } /** * 获取对象实例 * * @param beanName * @return */ public static Object getBean(String beanName) { return applicationContextHolder.getBean(beanName); } /** * 获取对象实例 * * @param beanName * @param clazz * @param <T> * @return */ public static <T> T getBean(String beanName, Class<T> clazz) { return applicationContextHolder.getBean(beanName, clazz); } /** * 获取对象实例 * * @param clazz * @param <T> * @return */ public static <T> T getBean(Class<T> clazz) { return applicationContextHolder.getBean(clazz); } }