使用 STS,如何添加应用上下文

Posted

技术标签:

【中文标题】使用 STS,如何添加应用上下文【英文标题】:Using STS, how to add application context 【发布时间】:2012-07-01 12:02:49 【问题描述】:

我需要一些帮助来设置一个 Spring 项目。 我正忙于阅读“Spring in action”一书,我需要尝试一些示例。我查看了很多页面,但无处可以看到我哪里出错了。一定是我错过或忽略了一些愚蠢的事情。

    我安装了Spring源码工具套件 创建了一个新的 java/maven 项目 添加了新的 applicationContext.xml bean 定义文件

项目大纲如下

我创建了我的 bean(实现汽车接口的 vwCar 和 nissanCar),并且在使用它们时,我在 app 类中有一个 main 方法。我需要创建一个应用程序上下文。

ApplicationContext context = new ClassPathApplicationContext("src/main/resources/applicationContext.xml");

但我很难创建 ApplicationContext。它给了我一个错误并且代码辅助不起作用

使用代码辅助它唯一建议的是(在键入 app 后按 Ctrl+Space):

如果我只是输入它,我会得到一个错误

ApplicationContext cannot be resolved to a type in class App.java

有什么我应该自己导入的吗?

我可以在项目文件夹上看到一个“S” - 这不是表示该项目已经启用了 spring 吗?

---------在 ALEX 评论建议我应该添加一个 MAVEN 依赖项之后添加-------------

我像 Alex 建议的那样添加了缺少的依赖项,但我不知道正确的版本是什么。如果我查看 STS 目录,我会看到几个名为 ... 2.9.2 的文件

org.springframework.ide.eclipse.feature_2.9.2.201205070117-RELEASE

但是如果我使用 2.9.2 添加依赖项,我的 POM 上会出现以下错误

Missing artifact org.springframework:spring-context:jar:2.9.2

我的 POM 如下所示

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>my.chrispie</groupId>
  <artifactId>MyMavenSpringProject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>MyMavenSpringProject</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>2.9.2</version>
    </dependency>
  </dependencies>
</project>

【问题讨论】:

我添加了 Alex 指出的依赖项... 【参考方案1】:

由于您使用的是 Maven,您应该将以下依赖项添加到您的 pom.xml:

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>$org.springframework-version</version>

</dependency>

$org.springframework-version 应替换为您正在使用的版本。

这将确保启动所需的 Spring jar 可用于您的应用程序。

一定是我错过或忽略了一些愚蠢的事情。

我认为您只是忽略了 Maven 的依赖项管理功能。创建 Java/Maven 项目不会引入所需的 Spring jar。如果您使用 STS 登录页面中的模板项目,这一切都已经设置好了。

【讨论】:

谢谢亚历克斯,我肯定没有将它添加到我的 pom.xml 中。你知道我在哪里可以找到正确的版本吗? 我确实添加了依赖项,并且我认为该版本基于我在 STS 目录中可以看到的版本。它抱怨版本号。 我会使用 3.1.1.RELEASE 版本。最新和最伟大的。 :) 谢谢 Alex... 我在 Maven 依赖管理的帮助文档下查看了 STS 发布管理。表示版本应为3.0.0.RELEASE。我将尝试 3.1.1。非常感谢您的帮助:)

以上是关于使用 STS,如何添加应用上下文的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot 应用程序中添加两个上下文路径

如何将项目添加到 UWP 应用程序的资源管理器上下文菜单

如何在 Spring.Net 应用程序上下文中添加 ASP.NET MVC 控制器?

了解 Spring MVC 中的上下文

如何将上下文菜单添加到 Java 应用程序的 Windows 资源管理器?

如何使用列表在每个上下文菜单项上添加点击事件?