Spring獲取bean的一種方式
阿新 • • 發佈:2017-06-13
ext bean 使用 set implement tex spring ati ride
隨便一百度,網上一大把,並且還不止一種。所以這裏就只記錄目前用的一種好了。
實現ApplicationContextAware接口 即可:
import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component publicclass 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 publicstatic <T> T getBean(String name, Class<T> clazz) { return getApplicationContext().getBean(name, clazz); } }
使用時,直接SpringUtils.getBean()即可。
Spring獲取bean的一種方式