- //
ApplicationContext context = new ClassPathXmlApplicationC ontext(new String[]{"applicationContext.xml","spring-xxxxx.xml"}); - //
BeanFactory factory = (BeanFactory)context; - //
MonitorServer ce = (MonitorServer) factory.getBean("monitorServer");
- package
org.company.xxx; -
- import
org.springframework.beans.BeansException; - import
org.springframework.context.ApplicationContext; - import
org.springframework.context.ApplicationContextAware; -
- public
class SpringContextUtil implements ApplicationContextAware { -
-
// Spring应用上下文环境 -
private static ApplicationContext applicationContext; -
-
-
public void setApplicationContext(ApplicationContext applicationContext) { -
SpringContextUtil.applicationContext = applicationContext; -
} -
-
-
public static ApplicationContext getApplicationContext() { -
return applicationContext; -
} -
-
-
public static Object getBean(String name) throws BeansException { -
return applicationContext.getBean(name); -
} -
- }
使用:
java类中:
MonitorServer md = (MonitorServer)SpringContextUtil.getBean("monitorServer");//bean的名称
spring配置文件中:
- <bean
id="monitorServer" -
class="com.company.xxxxx.MonitorServer"> -
<property name="dataSource" ref="dataSource" /> - </bean>
这样就可以得到我们想要的bean了,里面的方法随意调用,得到我们想要的数据。