zoukankan      html  css  js  c++  java
  • SpringBoot中获取上下文

    在实际开发中,有时候会根据某个bean的名称或class到Spring容器中获取对应的Bean。这里只做个简单的记录,方便后续自查。

    @Component
    public class SpringContextUtils implements ApplicationContextAware {
        private static ApplicationContext applicationContext;
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            this.applicationContext = applicationContext;
        }
    
        /**
         * 获取Spring的上下文
         * @return
         */
        public static ApplicationContext getApplicationContext(){
            return applicationContext;
        }
    
        /**
         * 获取Spring上下文容器的Bean名称
         * @return
         */
        public static String[] getBeanDefinitionNames(){
            return applicationContext.getBeanDefinitionNames();
        }
    
        /**
         * 根据Bean的名称获取Bean
         * @param name Bean名称
         * @param clazz 需要获取的实体
         * @param <T>
         * @return
         */
        public static <T> T getBean(String name,Class<T> clazz){
            return applicationContext.getBean(name,clazz);
        }
    
        /**
         * 根据Bean的名称获取Bean
         * @param name
         * @return
         */
        public static Object getBean(String name){
            return applicationContext.getBean(name);
        }
    
        /**
         * 根据class获取Bean
         * @param clazz
         * @param <T>
         * @return
         */
        public static <T> T getBean(Class<T> clazz){
            return applicationContext.getBean(clazz);
        }
    
        /**
         * 根据Bean名称获取Class
         * @param name
         * @return
         */
        public static Class<?> getType(String name){
            return applicationContext.getType(name);
        }
    }
  • 相关阅读:
    构造 非构造 代码块
    Random 类生成随机数
    JAVA寄存器
    PyCharm配置远程python解释器和在本地修改服务器代码
    Java实现常见的排序算法
    推荐系统冷启动问题解决方案
    AVL树C代码
    AVL树->图解2
    AVL树->图解1
    二叉查找树(Binary Sort Tree)
  • 原文地址:https://www.cnblogs.com/smallfa/p/15127009.html
Copyright © 2011-2022 走看看