简而言之:当我这样做时,我不知道将“spring-context.xml”文件放在哪个文件夹中:
ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
In Long:我基本上知道类路径是什么。它曾经是一个环境变量,告诉 Java 项目在哪里寻找 jars 和其他资源。好像用的不多。但是在 Eclipse 中,它谈到了通过进入 Java 构建路径来设置类路径。
当我想使用类路径(上图)查找 Spring“spring-context.xml”文件时,我不明白这与 Eclipse Java 构建路径有什么关系,如果有的话!当我使用上述语句时,WebApp 会查看哪些文件夹?我通常听到人们说,“在类路径中”,但这并没有告诉我太多,因为我不想使用环境变量,而且 Eclipse Java 构建路径似乎与查找 spring-context.xml 没什么关系文件。
更多详情
起初我担心更多的细节会混淆情况,但也许他们掌握了关键。
我正在使用 Vaadin 创建一个 Web 应用程序。我正在按照他们的指示将 Spring 上下文导入 Vaadin。我创建了一个 Spring Helper 类:
public SpringContextHelper(Application application) {
ServletContext servletContext = ((WebApplicationContext) application.getContext()).getHttpSession().getServletContext();
context = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
}
在web.xml
我有这些部分:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-context.xml</param-value>
</context-param>
我在第一行得到错误SpringContextHelper()
。我已经打破了界限,所以我知道这是失败的逻辑:
WebApplicationContext wac = (WebApplicationContext) application.getContext();
wac
返回null,大概是因为找不到spring-context.xml
文件。