通过ApplicationContextAware获取bean

在开发中需要动态调用Spring Bean ,为了避免Spring的多次加载,可以通过创建一个实现了org.springframework.context.ApplicationContextAware接口的类,同时在Spring配置文件中定义这个Bean,然后在web.xml文件中添加ContextLoaderListener来实现了org.springframework.context.ApplicationContextAware接口的类。
具体步骤如下:
一、创建一个实现了org.springframework.context.ApplicationContextAware接口的类

public class SpringBeanUtil implements ApplicationContextAware{
	public static ApplicationContext applicationContext=null;
	public static ApplicationContext getApplicationContext(){
		return applicationContext;
	}
	public static Object getBean(String beanId){
		return applicationContext.getBean(beanId);
	}
	
	public void setApplicationContext(ApplicationContext arg0)
			throws BeansException {
		applicationContext=arg0;
	}
}

二、在Spring配置文件中配置


三、在web.xml配置文件中添加


	contextConfigLocation
	/WEB-INF/classes/applicationContext.xml


	org.springframework.web.context.ContextLoaderListener




你可能感兴趣的:(Spring)