zoukankan      html  css  js  c++  java
  • 通过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);

        }

    }

    原文地址:https://www.cnblogs.com/codechange/p/11238117.html
  • 相关阅读:
    《Java并发编程的艺术》 第9章 Java中的线程池
    《Java并发编程的艺术》第6/7/8章 Java并发容器与框架/13个原子操作/并发工具类
    java锁总结
    《Java并发编程的艺术》第5章 Java中的锁 ——学习笔记
    《Java并发编程的艺术》第4章 Java并发编程基础 ——学习笔记
    Java并发编程的艺术(一、二章) ——学习笔记
    redis缓存使用SpringDataRedis
    商城06——solr索引库搭建&solr搜索功能实现&图片显示问题解决
    商城05——首页轮播图显示实现&Redis环境搭建&Redis实现缓存
    商城04——门户网站介绍&商城首页搭建&内容系统创建&CMS实现
  • 原文地址:https://www.cnblogs.com/jpfss/p/11389814.html
Copyright © 2011-2022 走看看