java

位置:IT落伍者 >> java >> 浏览文章

普通Java类获取Spring的ApplicationContext


发布日期:2019年03月29日
 
普通Java类获取Spring的ApplicationContext

在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 管理所有对象

上一篇:Hibernate O/R映射三大基本定则

下一篇:初学者对Hibernate的学习方法