zoukankan      html  css  js  c++  java
  • [Spring开发]获取上下文对象

    在开发Dubbo的过程中,多次读取同一配置文件加载上下文是错误的方法,对于已经加载到Spring容器中的context对象,其实是可以通过实现接口来获取的。

    首先,实现ApplicationContextAware接口,自定义的实现类SpringContextUtil。

    SpringContextUtil.java

    package com.mohrss.service;
    
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    
    /*
     * Class: SpringContextUtil
     * Function:用于获得当前Spring上下文环境的工具类
     */
    public class SpringContextUtil implements ApplicationContextAware {
    
    	// Spring应用上下文环境  
        private static ApplicationContext context;  
      
        /** 
         * 实现ApplicationContextAware接口的回调方法。设置上下文环境 
         *  
         * @param applicationContext 
         */  
        public void setApplicationContext(ApplicationContext applicationContext) {  
            SpringContextUtil.context = applicationContext;  
        }  
      
        /** 
         * @return ApplicationContext 
         */  
        public static ApplicationContext getApplicationContext() {  
            return context;  
        }  
      
        public static Object getBean(String name) throws BeansException {  
            return context.getBean(name);  
        }  
    
    }
    

      

    实现这个工具类后,需要在配置文件中进行配置。

        <bean id="springContextUtil" class="com.mohrss.plugin.SpringContextUtil" />
    

      

    之后即可在代码中进行调用,如:

    LogService ls = (LogService)SpringContextUtil.getApplicationContext().getBean("testLogService");
    

     注:原创博客,转载请注明。  

  • 相关阅读:
    iOS
    WKWebview 获取网页加载内容的高度
    iPhoneXS、XS Max与iPhoneXR 适配
    iOS:iPhone X,iPhone XS,iPhone XR,iPHone XS Max 适配
    git---全局设置用户名、密码、邮箱
    iOS 拖动手势(UIPanGestureRecognizer)
    ios 扩大button的点击区域
    iOS总结 | 修改button响应区域的各种姿势
    swift常用第三方库
    《从零开始学Swift》学习笔记(Day 33)——属性观察者
  • 原文地址:https://www.cnblogs.com/Vivianwang/p/9454866.html
Copyright © 2011-2022 走看看