Spring 上下文配置

Posted

技术标签:

【中文标题】Spring 上下文配置【英文标题】:Spring Context Configuration 【发布时间】:2012-07-17 09:09:53 【问题描述】:

我创建了一个 Spring MVC 应用程序。我正在研究弹簧安全概念。因此,我创建了一个上下文配置文件名 webbsite-security.xml,并在上下文配置路径中给出了相同的文件位置。由于异常声明 FILENOTFOUNDEXCEPTION(applicationContext.xml not found),应用程序失败。即使我们使用其他一些配置文件,是否有必要退出名为 applicationContext.xml 的文件。

【问题讨论】:

向我们展示您的配置,是否在 web.xml 中传递文件名? 【参考方案1】:

你为什么要称它为其他任何东西,它会违背默认的标准 spring 做事方式。只需将相关配置文件导入默认应用上下文 xml。

但是如果你想改变它,你必须在你的 web.xml 中指定以下内容:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/whatevever.xml</param-value>
</context-param> 

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

【讨论】:

我不认为我们应该严格遵循应用上下文的文件名。在我以前的项目中,我从来没有遵循这个默认名称,一切都很好。 @AdrianShum 你是对的,但这对我来说仍然是一件奇怪的事情。 其实并不奇怪。在很多情况下,您希望使用另一个文件名来与公司的指导方针保持一致,或者以更好地描述它的作用的方式命名它 @AdrianShum 它实例化了一个新的应用程序上下文,什么文件名可以更好地描述它?我相信有些公司会这样做,但不会让他们正确。 例如,如果应用程序上下文被拆分为多个文件,调用它 applicationContext-bootstrap.xml 可能是对其使用的更好描述。此外,如果您的应用程序可以使用不同的方式启动(作为独立应用程序,或作为 Web 应用程序),则使用不同的引导应用程序上下文 xml 是合理的。给他们起不同的名字并不奇怪。而且,根据我在 1.x 时代使用 Spring 的经验,Spring 从未将 applicationContext.xml 作为建议开发人员遵循的约定。我不明白你为什么这么反对使用不同的名字:P

以上是关于Spring 上下文配置的主要内容,如果未能解决你的问题,请参考以下文章

Spring 测试:测试类之间的上下文配置缓存的奇怪行为?

如何在 Spring(4) 上下文中为 HSQL 配置 Hikari CP?

线程池--spring配置,静态上下文获取以及调用

Java Spring Boot 测试:如何从测试上下文中排除 java 配置类

JUnit 4 & Spring Boot - 在测试前有选择地重新加载上下文/重新加载 Spring Security 配置

是否可以在 Spring 应用程序上下文中配置 OpenSessionInViewFilter 以便 context:property-placeholder 可用?