您的位置:首页 > 移动开发

通过ApplicationContextAware获取bean

2014-04-14 09:26 351 查看
在开发中需要动态调用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配置文件中配置

<bean id="springBeanUtil" class="com.yourobject.util.SpringBeanUtil">


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

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: