本文主要是介绍在不方便使用spring自动注入的地方获取spring容器中的bean的方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SpringUtil:获取spring容器中的bean
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {if(SpringUtils.applicationContext == null) {SpringUtils.applicationContext = applicationContext;}System.out.println("---------------------------------------------------------------------");System.out.println("---------------------------------------------------------------------");System.out.println("========ApplicationContext配置成功,在普通类可以通过调用SpringUtils.getAppContext()获取applicationContext对象,applicationContext="+SpringUtils.applicationContext+"========");System.out.println("---------------------------------------------------------------------");
}//获取applicationContext
public static ApplicationContext getApplicationContext() {return applicationContext;
}//通过name获取 Bean.
public static Object getBean(String name){return getApplicationContext().getBean(name);
}//通过class获取Bean.
public static <T> T getBean(Class<T> clazz){return getApplicationContext().getBean(clazz);
}//通过name,以及Clazz返回指定的Bean
public static <T> T getBean(String name,Class<T> clazz){return getApplicationContext().getBean(name, clazz);
}
}
这篇关于在不方便使用spring自动注入的地方获取spring容器中的bean的方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!