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);
        }
    }
  • 相关阅读:
    SpringBoot返回json和xml
    Spring boot 集成MQ
    Spring boot freemarker 配置
    Spring boot 自定义注解标签记录系统访问日志
    RIDE对应驱动下载
    在线修改pdf识别图片
    记公司食堂收厨余垃圾的人
    [Ruby]使用Ruby抓取网页及加工处理
    [转载]SCSS 和 SASS 和 HAML 和CoffeeScript
    [ACM]反复平方法的两种写法
  • 原文地址:https://www.cnblogs.com/smallfa/p/15127009.html
Copyright © 2011-2022 走看看