• 静态获取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);
    }
    

    }

  • 相关阅读:
    关于Spring的destroy-method和scope="prototype"不能共存问题
    关于引入文件名字问题
    技术学习路
    web.xml文件配置
    性能测试中的TPS与HPS
    设计模式简介
    Cause of 400 Bad Request Errors
    vim使用技巧
    如何更好地利用Pmd、Findbugs和CheckStyle分析结果
    Java基础知识
  • 原文地址:https://www.cnblogs.com/cabinet/p/12839072.html
Copyright © 2020-2023  润新知