1. 程式人生 > >Spring獲取bean的一種方式

Spring獲取bean的一種方式

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
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()即可。

Spring獲取bean的一種方式