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);
    }
    

    }

  • 相关阅读:
    vue使用百度编辑器ueditor踩坑记录
    vue项目之webpack打包静态资源路径不准确
    用自己电脑做网站服务器
    telnet测试端口号
    mongodb,redis,mysql的区别和具体应用场景
    移动应用调试之Inspect远程调试
    @vue/cli 3配置文件vue.config.js
    vue+webpack多个项目共用组件动态打包单个项目
    koa/koa2项目搭建
    用Navicat复制数据库到本地(导入.sql文件运行)
  • 原文地址:https://www.cnblogs.com/cabinet/p/12839072.html
Copyright © 2011-2022 走看看