Spring获取ApplicationContext ,以及Bean

Spring中获取Bean 的方式:(根据方法名称获取Bean)
Spring获取ApplicationContext ,以及Bean_第1张图片

Spring获取ApplicationContext ,以及Bean_第2张图片

Spring在代码中获取bean的几种方式

最实用的方法是:
	import org.springframework.beans.BeansException;
	import org.springframework.context.ApplicationContext;
	import org.springframework.context.ApplicationContextAware;
	import org.springframework.stereotype.Component;
	
	@Component
	public class ApplicationContextProvider implements ApplicationContextAware
	{
	    /**
	     * 上下文对象实例
	     */
	    private ApplicationContext applicationContext;
	
	    @Override
	    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
	        this.applicationContext = applicationContext;
	    }
	
	    /**
	     * 获取applicationContext
	     * @return
	     */
	    public ApplicationContext getApplicationContext() {
	        return applicationContext;
	    }
	
	    /**
	     * 通过name获取 Bean.
	     * @param name
	     * @return
	     */
	    public Object getBean(String name){
	        return getApplicationContext().getBean(name);
	    }
	
	    /**
	     * 通过class获取Bean.
	     * @param clazz
	     * @param 
	     * @return
	     */
	    public  T getBean(Class clazz){
	        return getApplicationContext().getBean(clazz);
	    }
	
	    /**
	     * 通过name,以及Clazz返回指定的Bean
	     * @param name
	     * @param clazz
	     * @param 
	     * @return
	     */
	    public  T getBean(String name,Class clazz){
	        return getApplicationContext().getBean(name, clazz);
	    }
	}

你可能感兴趣的:(java)