IntelliJ中的Spring应用程序上下文文件位置

时间:2014-09-04 07:13:54

标签: java spring spring-mvc tomcat intellij-idea

我正在尝试找出将spring application context XML文件(映射服务Bean)放在IntelliJ生成的Spring MVC模板中的位置。如果我把它放在WEB-INF文件夹中,当我在dispatcher servlet XML文件中导入XML时会抱怨它。如果我把它放在webapp文件夹中,tomcat会抱怨它无法在WEB-INF文件夹中找到它。那么我实际上把它放在哪里呢?

IntelliJ应用为Spring MVC应用生成的模板在webapp dir内有一个'pages'文件夹。我是否必须将jsps放在那里或放在WEB-INF文件夹中,就像在Eclipse中一样?在Tomcat

中部署时,根上下文路径如何映射到此文件夹

spring application XML

3 个答案:

答案 0 :(得分:2)

web.xml 中,您提到了 contextConfigLocation ,其中提到了上下文读取的资源的位置和名称。该元素应包含XML文件的路径和名称。

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:com/some/path/applicationContext.xml classpath:dbContext.xml
    </param-value>
</context-param>

现在 dbcontext.xml 直接位于类路径下,而applicationContext位于文件夹heirarchy com / some / path

的类路径中

当构建应用程序时,classess通常会进入 WEB-INF / classes 目录。因此,如果使用上面的配置进行战争,dbContext将在类dir下。 通常,在项目中创建另一个源文件夹可能是个好主意。将其命名为资源或配置,并将配置文件放在那里。

这有帮助吗?

答案 1 :(得分:0)

您可以将其保留在类路径中,并在web.xml中进行以下配置

    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
   </context-param>

    org.springframework.web.context.ContextLoaderListener 在maven项目中,我们将其保存在资源文件夹中。

答案 2 :(得分:0)

您可以将spring-context文件放在存在dispatcher-servlet的同一目录中,也可以在web-inf中创建新目录,例如spring,因为您可以放置​​spring-context文件。 / p>

假设您已将spring-context放在spring directory内,那么您可以将其称为:

<import resource="spring/spring-context.xml"/>
dispatcher-servlet.xml中的

看看这是我的弹簧应用结构并且工作得很好:

enter image description here

还有一些问题然后发布给我。