SSM框架中如何获取ApplicationContext

我搭建了一个SSM框架的Web项目,Spring的配置文件我在web.xml中加载了,我想在程序中获得ApplicationContext对象,如何获取,尽可能不要通过指定配置文件路径的方式去获取。
附上配置文件:
applicationContext-Dao.xml:

clipboard.png

applicationContext-Service.xml:

clipboard.png

applicationContext-Transaction.xml:

clipboard.png

web.xml:

clipboard.png

获取applicationContext的代码:

clipboard.png
第14行需要获取到applicationContext,请问怎么获取

阅读 8k
3 个回答

实现ApplicationContextAware接口

新手上路,请多包涵

WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();

   XXXService xxxService=(XXXService ) wac.getBean("xxxService");

org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(ServletContext);

@Autowired
private ApplicationContext applicationContext;

通过上面2种方式都可以获取到ApplicationContext如果楼主需要将ApplicationContext保存至某个静态类中提供接口获取,那必须要在某一个地方将ApplicationContext设置进来。无法直接获取。因为获取ApplicationContext是需要上下文条件限制的。在Web环境下可以直接通过ServletContext获取。如果Bean对象本身被IoC容器所管理可直接通过注解获取。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题