applicationContext xml文件位于src文件夹之外

时间:2012-06-21 19:24:47

标签: java spring

有没有办法将applicationContext.xml放入WEB-INF文件夹?我特定于WEB-INF文件夹,因为我知道它可以放在WEB-INF \ classes文件夹中。
根据要求,客户端应该能够根据其设置配置applicationContext.xml 我还想到了另一种选择,即将WEB-INF文件夹中的xml配置文件导入applicationContext.xml。但我还没有尝试过,也不确定它有多可行。

3 个答案:

答案 0 :(得分:1)

是的,你可以这样做,但是类路径是放置它们的合理位置。

在web.xml中,在“contextConfigLocation”的定义中,只需将/WEB-INF/applicationContext.xml添加到该部分。

答案 1 :(得分:1)

如果在web.xml中添加它,则可以访问applicationContext

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

答案 2 :(得分:1)

从您的需求的角度来看,将它放在WEB-INF或WEB-INF / classes目录中完全没有区别:无论哪种方式,都需要在部署后从爆炸的WAR / EAR访问它,这可能是如果您的应用服务器没有爆炸它是不可能的(即,JBoss可以直接使用WAR)。

IMO,您的解决方案是停止使用WebApplicationContext实现。使用DefaultListableBeanFactory,它应该在ServletContextListener中初始化,手动读取配置文件。这样,您就可以从ApplicationServer环境获取applicationContextFile的路径(使用JNDI或任何适合您的方法),因此它可以放置在Application Server所在的机器中的任何位置。

至少那是我们所做的,原因与你一样。