有时候在代码中,不希望使用自动注入,而是手动获取Spring容器以及Spring容器中的某个对象
1、首先写一个class实现ApplicationContextAware
import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware;
@Component public class SpringBeanUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringBeanUtil.applicationContext = applicationContext; } /** * 通过名称在spring容器中获取对象 * * @param beanName * @return */ public static Object getBean(String beanName) { return applicationContext.getBean(beanName); } }