我在使用Springs框架时遇到了一个问题,导致服务器和数据库之间无法通信。
我创建的项目是Spring项目,然后重构为Maven。
在代码中的这一行:
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("projectName/spring.xml");
我收到此错误:
线程“main”org.springframework.beans.factory.BeanDefinitionStoreException中出现异常:从类路径资源[projectName/spring.xml]解析XML文档时出现IOException;嵌套异常是java.io.FileNotFoundException:类路径资源[projectName/spring.xml]无法打开,因为它不存在
但它确实存在。我已经尝试过解决此问题的方法,例如改为编写 ClassPathXmlApplicationContext("spring.xml")
。但这并没有什么帮助,因为 Spring 会自动在文件夹 src/main/resources 中查找。这对我不起作用,因为我的项目结构不允许我添加此文件夹并在其中放入 XML 文件。如果我尝试创建此文件夹,那么它会自动放入 Java-resources 文件夹中,并且 Eclipse 不允许我将 XML 放入其中。
这就是我的项目的样子: enter image description here
有没有办法让我声明 Spring 应该在哪里查找这个 spring.xml 文件?
最佳答案
ClassPathXmlApplicationContext 假定该文件位于您的类路径上(Javy 描述了如何从类路径加载资源)。
如果您想从文件系统加载配置(正如您所做的那样),您可能需要考虑使用 FileSystemXmlApplicationContext。使用此机制加载上下文,您可以像当前一样传递文件系统位置。
关于java - ClassPathXmlApplicationContext 错误,Spring 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37587355/