Java 如何获取默认的 WebApplicationContext?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2495741/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 08:26:08  来源:igfitidea点击:

How to get the default WebApplicationContext?

javaspringspring-mvc

提问by Walker

I need the context to ApplicationContext.xml,which I provided in web.xmlas

我需要的背景下ApplicationContext.xml,这是我所提供web.xml

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
 </listener> 

But I need a control for this in Controllerclass.

但我需要在Controller课堂上对此进行控制。

I tried many things including

我尝试了很多东西,包括

WebApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();

but it doesnt help.

但它没有帮助。

采纳答案by skaffman

Easiest solution is to use getWebApplicationContext()of WebApplicationContextUtils:

最简单的解决方案是使用getWebApplicationContext()WebApplicationContextUtils

Find the root WebApplicationContext for this web application, which is typically loaded via ContextLoaderListener.

找到此 Web 应用程序的根 WebApplicationContext,它通常通过 ContextLoaderListener 加载。

See also getRequiredWebApplicationContext().

另见getRequiredWebApplicationContext()

回答by Chidveer

RequestContextUtilswill be the best choice as, even if you have multiple WebAppContexts it will get the current active one.

RequestContextUtils将是最佳选择,因为即使您有多个 WebAppContexts,它也会获得当前活动的一个。