zoukankan      html  css  js  c++  java
  • 静态获取Bean

    import org.springframework.beans.BeansException;
    import org.springframework.beans.factory.NoSuchBeanDefinitionException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    /**
    *

    • 静态获取Bean

    */
    public class SpringContextUtil implements ApplicationContextAware {

    private static ApplicationContext applicationContext; 
    // 实现
    @Override
    public void setApplicationContext(ApplicationContext applicationContext)
    		throws BeansException {
    	SpringContextUtil.applicationContext = applicationContext;
    }
    
    public static ApplicationContext getApplicationContext() {
    	return applicationContext;
    }
    
    public static Object getBean(String name) throws BeansException {
    	try {
    		return applicationContext.getBean(name);
    	} catch (Exception e) {
    		e.getMessage();
    		throw new RuntimeException("获取的Bean不存在!");
    	}
    }
    
    public static <T> Object getBean(Class<T> zlass) throws BeansException {
    	try {
    		return applicationContext.getBean(zlass);
    	} catch (Exception e) {
    		e.getMessage();
    		throw new RuntimeException("获取的Bean不存在!");
    	}
    }
    
    public static <T> T getBean(String name, Class<T> requiredType)throws BeansException {
    	return applicationContext.getBean(name, requiredType);
    }
    
    public static boolean containsBean(String name) {
    	return applicationContext.containsBean(name);
    }
    
    public static boolean isSingleton(String name)
    		throws NoSuchBeanDefinitionException {
    	return applicationContext.isSingleton(name);
    }
    
    public static Class<? extends Object> getType(String name)
    		throws NoSuchBeanDefinitionException {
    	return applicationContext.getType(name);
    }
    
    public static String[] getAliases(String name)
    		throws NoSuchBeanDefinitionException {
    	return applicationContext.getAliases(name);
    }
    

    }

  • 相关阅读:
    一个中型项目:本地校园App
    我的项目:一个chrome插件的诞生记,名字叫jumper
    计算机天才Aaron Swartz 名作 《如何提高效率》——纪念真正的“hacker"!
    Linux技巧总结(个人经验版)
    C++最后课程项目总结
    从windows到Linux-ubuntu新手
    笔迹之始
    Partitioning
    Join vs merge vs lookup
    IBM InfoSphere DataStage and QualityStage
  • 原文地址:https://www.cnblogs.com/cabinet/p/12839072.html
Copyright © 2011-2022 走看看