软件152 王磊
Spring获取bean的一种方法
Spring获取bean的方法在网上有大量的文章表达了Spring获取bean的功能。在这里也写下了一种Spring获取bean的方法。
实现ApplicationContextAware接口 即可:
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 = null; @Override public void setApplicationContext(ApplicationContext arg0) throws BeansException { if (SpringUtils.applicationContext == null) { SpringUtils.applicationContext = arg0; } } // 获取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); } }
使用时,直接SpringUtils.getBean()即可。