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;
        }
    
    }

    .

  • 相关阅读:
    回老家
    防疫针
    平安夜
    虎威威
    圣诞联欢会
    小老虎飞船
    电子积木
    打印
    周日大悦城
    又一年毕业季
  • 原文地址:https://www.cnblogs.com/jonban/p/context.html
Copyright © 2011-2022 走看看