在SSH集成的前提下某些情况我们需要在Action以外的类中来获得Spring所管理的Service对象
之前我在网上找了好几好久都没有找到合适的方法例如
ApplicationContext context = new ClassPathXmlApplicationContext();
当时我觉得没有这个必要浪费内存后来我终于想出了一个解决方法在此拿来给大家参考下希望对大家有帮助
创建一个类并让其实现orgntextApplicationContextAware接口来让Spring在启动的时候为我们注入ApplicationContext对象
示例代码
import orgspringframeworkbeansBeansException;
import orgntextApplicationContext;
import orgntextApplicationContextAware;
public class MyApplicationContextUtil implements ApplicationContextAware {
private static ApplicationContext context;
//声明一个静态变量保存
public void setApplicationContext(ApplicationContext contex) throws BeansException {
ntext=contex;
}
public static ApplicationContext getContext(){
return context;
}
}
在applicationContextxml文件中配置此bean以便让Spring启动时自动为我们注入ApplicationContext对象
例
<! 这个bean主要是为了得到ApplicationContext 所以它不需要其它属性>
<bean class=orgingspringutilMyApplicationContextUtil></bean>
有了这个ApplicationContext之后我们就可以调用其getBean(beanName)方法来得到由Spring 管理所有对象