【问题标题】:Spring ClassPathXmlApplicationContext loading xmlSpring ClassPathXmlApplicationContext 加载 xml
【发布时间】:2017-05-17 04:22:25
【问题描述】:

现在我想通过ClassPathXmlApplicationContext 加载applicationContext.xml,我的工作文件夹结构是src/main/java; src/main/resources/applicationContext.xml;

我的代码是

ApplicationContext ctx =
            new ClassPathXmlApplicationContext("src/main/resources/applicationContext.xml");

throw因为不存在所以打不开,但是

    ApplicationContext ctx =
            new ClassPathXmlApplicationContext("applicationContext.xml");

没问题,为什么会这样?

【问题讨论】:

  • 试试new ClassPathXmlApplicationContext("applicationContext.xml");
  • @JaySmith,他已经说过“new ClassPathXmlApplicationContext("applicationContext.xml");”工作正常,但这里的问题是“为什么它工作?”
  • 因为在 maven 项目中 src/main/resources 是源文件夹。来自src/main/java 的Java 文件和资源被编译到target/classes 文件夹中。

标签: java spring


【解决方案1】:

ClassPathXmlApplicationContext 将从classpath 中查找特定文件。从Java Build Path -> Source 部分,您可以看到源文件夹:src/main/java、src/main/resources、src/test/java。它们将被 java 应用程序用作类路径。

所以如果你传递applicationContext.xml 作为参数,jvm 会从上面的 3 个文件夹中寻找这个文件。 src/main/resources/beanConfigurationName.xml 将引导 jvm 从类路径中查找 "src/main/resources/beanConfigurationName.xml"

【讨论】:

    猜你喜欢
    • 2014-05-16
    • 2023-04-11
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多