手动获取Spring上下文和Bean对象

示例

/**
 * 手动获取Spring上下文和Bean对象
 *
 * @Author YinWenBing
 * @Date 2017/1/6  17:07
 */
public class ApplicationUtil implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    /**
     * 加载Spring配置文件时,如果Spring配置文件中所定义的Bean类实现了ApplicationContextAware接口,会自动调用该方法
     *
     * @param applicationContext
     * @throws BeansException
     */
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        ApplicationUtil.applicationContext = applicationContext;
    }

    /**
     * 获取Spring上下文
     * @return
     */
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    /**
     * 获取Spring Bean
     * @param name
     * @return
     * @throws BeansException
     */
    public static Object getBean(String name) throws BeansException {
        return applicationContext.getBean(name);
    }
}

在Spring配置文件中手动配置ApplicationUtil Bean

<bean id="applicationUtil" class="com.nb.soa.common.util.ApplicationUtil"></bean>
posted @ 2017-02-08 12:00  YinWenBing  阅读(3371)  评论(0编辑  收藏  举报