zoukankan      html  css  js  c++  java
  • Spring 上下文操作工具类 ContextUtils

    ContextUtils.java

    package com.java.config;
    
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    import org.springframework.stereotype.Component;
    
    /**
     * 对Spring容器进行各种上下文操作的工具类
     * <p>
     * 该工具类必须声明为Spring 容器里的一个Bean对象,否则无法自动注入ApplicationContext对象
     * <p>
     * 可使用@Component注解实例化,注意要开启包扫描并且所在包路径能被扫描到
     * 
     * @author Logan
     * @createDate 2019-02-09
     *
     */
    @Component
    public class ContextUtils implements ApplicationContextAware {
    
        private static ApplicationContext context;
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            context = applicationContext;
        }
    
        /**
         * 根据Bean名称获取Bean对象
         * 
         * @param name Bean名称
         * @return 对应名称的Bean对象
         */
        public static Object getBean(String name) {
            return context.getBean(name);
        }
    
        /**
         * 根据Bean的类型获取对应的Bean
         * 
         * @param requiredType Bean类型
         * @return 对应类型的Bean对象
         */
        public static <T> T getBean(Class<T> requiredType) {
            return context.getBean(requiredType);
        }
    
        /**
         * 根据Bean名称获取指定类型的Bean对象
         * 
         * @param name Bean名称
         * @param requiredType Bean类型(可为空)
         * @return 获取对应Bean名称的指定类型Bean对象
         */
        public static <T> T getBean(String name, Class<T> requiredType) {
            return context.getBean(name, requiredType);
        }
    
        /**
         * 判断是否包含对应名称的Bean对象
         * 
         * @param name Bean名称
         * @return 包含:返回true,否则返回false。
         */
        public static boolean containsBean(String name) {
            return context.containsBean(name);
        }
    
        /**
         * 获取对应Bean名称的类型
         * 
         * @param name Bean名称
         * @return 返回对应的Bean类型
         */
        public static Class<?> getType(String name) {
            return context.getType(name);
        }
    
        /**
         * 获取上下文对象,可进行各种Spring的上下文操作
         * 
         * @return Spring上下文对象
         */
        public static ApplicationContext getContext() {
            return context;
        }
    
    }

    .

  • 相关阅读:
    Hbase写数据,存数据,读数据的详细过程 分类: B7_HBASE 2015-03-15 20:11 117人阅读 评论(0) 收藏
    机器学习(十四):深度学习梯度优化算法(SGD SGD-M NAG AdaGrad RMSProp Adam )
    机器学习(十三):卷积神经网络(CNN)
    机器学习(十一):FP增长(FP-growth)
    机器学习(十):Apriori算法
    Gulp命令自动生成精灵图
    esLint参数设置
    js 监控iframe URL的变化
    React+Redux学习笔记:React+Redux简易开发步骤
    React组件实现越级传递属性
  • 原文地址:https://www.cnblogs.com/jonban/p/context.html
Copyright © 2011-2022 走看看