重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
當在某些類中無法通過@Autowired、@Resource這種注解的方式來創建bean時,我們首先可能想到可以通過加載配置文件的方式來獲取bean,但這種方式不僅繁瑣還容易因為路徑問題個中找不到配置文件,所以我找到了一個很實用的工具,可以在項目中添加如下工具類:
目前成都創新互聯已為上千的企業提供了網站建設、域名、網頁空間、網站改版維護、企業網站設計、榆次網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (SpringUtil.applicationContext == null) {
SpringUtil.applicationContext = applicationContext;
}
}
//獲取applicationContext
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
//通過name獲取 Bean.
public static Object getBean(String name) {
ApplicationContext applicationContext = getApplicationContext();
if(null != applicationContext) {
return getApplicationContext().getBean(name);
}
return null;
}
//通過class獲取Bean.
public static T getBean(Class clazz) {
return getApplicationContext().getBean(clazz);
}
//通過name,以及Clazz返回指定的Bean
public static T getBean(String name, Class clazz) {
return getApplicationContext().getBean(name, clazz);
}
}
如想獲取配置文件中的sessionFactory對象
可以通過以上工具類來輕松獲取
SpringUtil.getBean("sessionFactory");