簡體   English   中英

從不同於classpath的位置加載spring XML

[英]Loading spring XML from location different from classpath

我正在嘗試使用ClassPathXmlApplicationContext類讀取spring xml,如下所示。

    ApplicationContext context = new ClassPathXmlApplicationContext("file:../WebContent/WEB-INF/dispatcher-servlet.xml");
    Service service = (Service ) context.getBean("service");

但是我收到FileNotFound異常。 dispatcher-servlet.xml位於WebContent / WEB-INF / dispatcher-servlet.xml下。 如果我將文件移到Src文件夾,則可以正常工作。

我嘗試了不同的方式

    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:../WebContent/WEB-INF/dispatcher-servlet.xml");

 ApplicationContext context = new ClassPathXmlApplicationContext("/WEB-INF/dispatcher-servlet.xml");

但是這些不起作用。 有人可以提供一些輸入嗎?

Spring文檔中

ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/appContext.xml");

在您的web.xml中嘗試以下操作:

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

或者,如果需要在代碼中執行此操作,請使用ServletContextResource 這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM