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);
        }
    }
  • 相关阅读:
    问答
    观看视频后的笔记
    处理json的常用方式
    通过excel模板文件根据数据库数据修改其中的单元格数据
    declare用法
    添加文件然后自动打开
    Mybatis之入门
    观察者模式
    职责链模式
    并发新构件之Exchanger:交换器
  • 原文地址:https://www.cnblogs.com/smallfa/p/15127009.html
Copyright © 2011-2022 走看看