• 通过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
  • 相关阅读:
    浅谈MSSQL2012中的列存储索引(columnstore indexes)
    《高性能SQL调优精要与案例解析》新书样章
    关系库执行计划中三种最常用连接方式的伪码实现
    python基础-字符串
    python基础-文件和目录
    python基础-列表
    python基础-对象
    python基础-入门
    python算法-二叉树广度优先遍历
    Python算法-二叉树深度优先遍历
  • 原文地址:https://www.cnblogs.com/jpfss/p/11389814.html
Copyright © 2020-2023  润新知