All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.xuqiudong.common.base.tool.ApplicationContextHolder Maven / Gradle / Ivy

package cn.xuqiudong.common.base.tool;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

/**
 *
 *  说明 :  从spring获取bean实例
 *  @author Vic.xu
 *  @date: 2020年7月31日下午4:55:02
 */
@Component
public class ApplicationContextHolder implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        applicationContext = ctx;
    }

    /**
     * Get application context from everywhere
     *
     * @return
     */
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    /**
     * Get bean by class
     *
     * @param clazz
     * @param 
     * @return
     */
    public static  T getBean(Class clazz) {
        return applicationContext.getBean(clazz);
    }

    /**
     * Get bean by class name
     *
     * @param name
     * @param 
     * @return
     */
    @SuppressWarnings("unchecked")
    public static  T getBean(String name) {
        return (T) applicationContext.getBean(name);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy