zoukankan      html  css  js  c++  java
  • Spring上下文信息获取简单实现


    我们经常会在工作中需要获取Spring上下文信息,来获取程序中的一些要素,以下就是一个简单的获取Spring上下文的简单实现。

    public class SpringContextHolder implements ApplicationContextAware {
    
        private static ApplicationContext applicationContext;
    
        public void setApplicationContext(ApplicationContext applicationContext) {
            SpringContextHolder.applicationContext = applicationContext;
        }
    
        /**
         * 得到Spring 上下文环境
         * 
         * @return
         */
        public static ApplicationContext getApplicationContext() {
            checkApplicationContext();
            return applicationContext;
        }
    
        /**
         * 通过Spring Bean name 得到Bean
         * 
         * @param name bean 上下文定义名称
         */
        @SuppressWarnings("unchecked")
        public static <T> T getBean(String name) {
            checkApplicationContext();
            return (T) applicationContext.getBean(name);
        }
    
        /**
         * 通过类型得到Bean
         * 
         * @param clazz
         * @return
         */
        @SuppressWarnings("unchecked")
        public static <T> T getBean(Class<T> clazz) {
            checkApplicationContext();
            return (T) applicationContext.getBeansOfType(clazz);
        }
    
        private static void checkApplicationContext() {
            if (applicationContext == null) {
                throw new IllegalStateException("applicaitonContext未注入,请在application-context.xml中定义SpringContextHolder");
            }
        }
    
    }
    

    public abstract interface ApplicationContextAware extends Aware {
        public abstract void setApplicationContext(
                ApplicationContext paramApplicationContext) throws BeansException;
    }
    
    public abstract interface Aware {
    }
    
    
  • 相关阅读:
    第二次
    第一次
    win下less自动编译脚本
    厦门攻略游记
    npm常用命令
    青岛旅行规划及玩后感
    kissynode run on windows解决方案,contextify nodejs windows solution
    win nodejs下 findit只返回第一个文件问题
    jetty自动添加path的问题
    微博输入框统计
  • 原文地址:https://www.cnblogs.com/claindoc/p/9835133.html
Copyright © 2011-2022 走看看