SpringBoot 使用ApplicationContext 及 getbean的两种方式

感情迁移 提交于 2020-12-08 13:58:50

第一种:容器加载时设置

public class ProxyApplication {
    public static void main(String[] args) {
        ApplicationContext applicationContext = SpringApplication.run(ProxyApplication.class, args);
        SpringContextUtil.setApplicationContext(applicationContext);
    }
}

实例化SpringContextUtil

public class SpringContextUtil {
 
    // Spring应用上下文环境
    private static ApplicationContext applicationContext;
 
    /**
     * 实现ApplicationContextAware接口的回调方法,设置上下文环境
     */
    public static void setApplicationContext(ApplicationContext applicationContext)throws BeansException  {
        SpringContextUtil.applicationContext = applicationContext;
    }
 
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
 
    /**
     *  根据beanId返回Spring中的实例
     * @Date 2019-08-07 17:36
     * @param
     * @return
     **/
    public static Object getBean(String beanId) throws BeansException {
        return applicationContext.getBean(beanId);
    }
}

实现

AutoLogonConfig autoLogonConfig = (AutoLogonConfig) SpringContextUtil.getBean("autoLogonConfig");

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!