如何读取root-context.xml文件

时间:2015-07-20 08:23:53

标签: java spring

在我的申请中,我同时拥有DispatcherServlet-servlet.xmlroot-context.xml。我在root-context.xml中配置了所有bean,我想读取那个xml。我使用ApplicationContext来读取该文件,但我得到了ClassNotFoundException。我的两个xml都在WEB-INF文件夹里面。如果我在src文件夹外创建xml它工作正常但根据我的项目我不能改变文件的位置,所以请告诉我如何阅读WEB-INF内的xml。

以下是我读取xml文件的代码。

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/WEB-INF/spring/root-context.xml");

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/WEB-INF/spring/DispatcherServlet-servlet.xml");

2 个答案:

答案 0 :(得分:0)

我认为您应该在WEB-INF / web.xml中定义您的应用程序或servlet上下文,而不需要手动初始化它。 像这样:

<context-param>
    <param-name>ctxLocation</param-name>
    <param-value>/WEB-INF/classes/app-ctx.xml</param-value>
</context-param>
<servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>ctxLocation</param-name>
        <param-value>/WEB-INF/classes/servlet-ctx.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

您还需要使用ContextLoaderListener

答案 1 :(得分:0)

ClassPathXmlApplicationContext,您应该将这些文件放在类路径中,即在IDE的src目录中,以便将其复制到默认的classes目录。