• Spring工具类获取Bean


    代码贴上

    package xxx;
    
     
    
    import org.springframework.beans.BeansException;
    
    import org.springframework.beans.factory.NoSuchBeanDefinitionException;
    
    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 = null;
    
     
    
        public SpringUtil() {
    
        }
    
     
    
        public void setApplicationContext(ApplicationContext arg0) throws BeansException {
    
            if (applicationContext == null) {
    
                applicationContext = arg0;
    
            }
    
     
    
        }
    
     
    
        public static ApplicationContext getApplicationContext() {
    
            return applicationContext;
    
        }
    
     
    
        public static void setAppCtx(ApplicationContext webAppCtx) {
    
            if (webAppCtx != null) {
    
                applicationContext = webAppCtx;
    
            }
    
        }
    
     
    
        /**
    
         * 拿到ApplicationContext对象实例后就可以手动获取Bean的注入实例对象
    
         */
    
        public static <T> T getBean(Class<T> clazz) {
    
            return getApplicationContext().getBean(clazz);
    
        }
    
     
    
        public static <T> T getBean(String name, Class<T> clazz) throws ClassNotFoundException {
    
            return getApplicationContext().getBean(name, clazz);
    
        }
    
     
    
        public static final Object getBean(String beanName) {
    
            return getApplicationContext().getBean(beanName);
    
        }
    
     
    
        public static final Object getBean(String beanName, String className) throws ClassNotFoundException {
    
            Class<?> clz = Class.forName(className);
    
            return getApplicationContext().getBean(beanName, clz.getClass());
    
        }
    
     
    
        public static boolean containsBean(String name) {
    
            return getApplicationContext().containsBean(name);
    
        }
    
     
    
        public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
    
            return getApplicationContext().isSingleton(name);
    
        }
    
     
    
        public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {
    
            return getApplicationContext().getType(name);
    
        }
    
     
    
        public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
    
            return getApplicationContext().getAliases(name);
    
        }
    
    }
  • 相关阅读:
    Oracle 手工创建awr快照,获取报告
    Oracle块修改跟踪功能
    Oracle 反向索引(反转建索引) 理解
    oracle聚簇表的理解 (转自:https://blog.csdn.net/gumengkai/article/details/51009345 )
    Fix the iOS code signing issue when using Jenkins
    ios系统crash文件分析
    python版本管理
    python requirements.txt
    android makefile protoc路径添加
    初识tflite源码
  • 原文地址:https://www.cnblogs.com/zhanqing/p/15597478.html
Copyright © 2020-2023  润新知